Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 每次运行JSP应用程序时初始化sessionScope变量_Java_Jsp_Servlets - Fatal编程技术网

Java 每次运行JSP应用程序时初始化sessionScope变量

Java 每次运行JSP应用程序时初始化sessionScope变量,java,jsp,servlets,Java,Jsp,Servlets,当应用程序运行时,我确实需要初始化sessionScope变量。哪种方法是正确的 //编辑:首先,我想为我不可理解的问题道歉。我想要的是:一个监听器或类似的东西,当应用程序第一次运行时可以监听,并创建会话并为其添加属性 谢谢 每次我的应用程序运行时,我都会初始化一个sessionScope变量 sessionScope是为会话创建的,因此当应用程序运行时,不会创建会话 您可能想要它的应用范围 或者,如果希望每次发出请求时都处理会话范围,可以使用Filter使用jsp:useBean标记 若您设置

当应用程序运行时,我确实需要初始化sessionScope变量。哪种方法是正确的

//编辑:首先,我想为我不可理解的问题道歉。我想要的是:一个监听器或类似的东西,当应用程序第一次运行时可以监听,并创建会话并为其添加属性

谢谢

每次我的应用程序运行时,我都会初始化一个sessionScope变量

sessionScope是为会话创建的,因此当应用程序运行时,不会创建会话

您可能想要它的应用范围

或者,如果希望每次发出请求时都处理会话范围,可以使用Filter使用jsp:useBean标记

若您设置了class属性,那个么若会话作用域中并没有bean,那个么它将被创建,默认构造函数必须呈现一个


就这样。如果您还没有使用Servlet 3.0 Tomcat 7、Glassfish 3等,那么您需要在web.xml中注册它,而不是使用@WebListener注释。

每次运行它是什么意思?如果您的意思是针对每个请求,那么您可以使用请求范围而不是会话范围。我的意思是当它运行时,而不是每次。对不起,弄错了。这个问题毫无意义。根据定义,会话范围的变量是用会话初始化的。我真的很抱歉我的问题很难理解,浪费了你们的时间。所以我编辑了我的问题,希望它更容易理解。
@WebListener
public class SessionConfigureListener implements HttpSessionListener {

    @Override
    public void sessionCreated(HttpSessionEvent event) {
        event.getSession().setAttribute("foo", new Foo());
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent event) {
        // NOOP.
    }

}