gpt4 book ai didi

java - ServletContextListener 中变量的使用

转载 作者:行者123 更新时间:2023-11-29 06:20:32 38 4
gpt4 key购买 nike

有什么原因不能在 Java ServletContextListener 中创建变量并且它的值设置和获取与其他任何变量一样。我所拥有的是 SCL 中的 ArrayList 和另一个类中的方法经常使用 SCL 本身中的静态 get 和 set 方法更新 ArrayList。我在这里的偏好是不使用 ServletContext 来存储 ArrayList。

根本不会创建新的监听器实例。

SCL 中的代码类似于以下内容:

private static ArrayList<String> strList;

@Override
public void contextInitialized(ServletContextEvent contextEvent) {
ArrayList<String> temp = someOtherMethod();
setStrList(temp);
}

@Override
public void contextDestroyed(ServletContextEvent contextEvent) {
}

public static ArrayList<String> getStrList() {
// ...
return strList;
}

public static void setStrList(ArrayList<String> temp) {
this.strList = temp;
// ...
}

最佳答案

您的“变量”必须位于您可以到达的地方。

如果您在 ContextListener 中,那么您可以将一个对象放入ServletContext 中,并稍后从任何其他对象中获取它访问同一个ServletContext。得到它后,如果它像 ArrayList 一样可变,您当然也可以更新它。

关于java - ServletContextListener 中变量的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3224151/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com