我真的在运行应用程序时初始化sessionScope变量。哪种方法可以做到这一点?每当JSP应用程序运行时初始化sessionScope变量
//编辑:首先,我要对不起,我不理解的问题。所有我想要的是:一个监听器或类似的东西,它可以在应用程序第一次运行时创建会话并为其添加属性。
感谢
我真的在运行应用程序时初始化sessionScope变量。哪种方法可以做到这一点?每当JSP应用程序运行时初始化sessionScope变量
//编辑:首先,我要对不起,我不理解的问题。所有我想要的是:一个监听器或类似的东西,它可以在应用程序第一次运行时创建会话并为其添加属性。
感谢
实现一个HttpSessionListener
会话范围。
@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.
}
}
就是这样。如果你还没有使用Servlet 3.0(Tomcat 7,Glassfish 3等),那么你需要在web.xml
中注册为<listener>
而不是使用@WebListener
注释。
我真的每次运行时初始化一个sessionScope变量,我的应用程序。
为会话创建sessionScope,所以当您的应用运行时,会话不会被创建。
您可能需要它的应用程序范围。
,或者如果你想有一个请求时,你要处理的会话范围,你可以使用Filter
使用jsp做到每次:useBean标签spec
如果设置类属性,那么如果没有豆存在于它会创建(默认构造函数必须出示)
“每次运行”是什么意思?如果您的意思是“针对每个请求”,那么您可以使用请求范围而不是会话范围。 – Thilo
我的意思是当它运行时,不是每次。对不起,错误 – nXqd
_what_运行时 – Bozho