2011-11-01 67 views
-2

我真的在运行应用程序时初始化sessionScope变量。哪种方法可以做到这一点?每当JSP应用程序运行时初始化sessionScope变量

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

感谢

+1

“每次运行”是什么意思?如果您的意思是“针对每个请求”,那么您可以使用请求范围而不是会话范围。 – Thilo

+0

我的意思是当它运行时,不是每次。对不起,错误 – nXqd

+1

_what_运行时 – Bozho

回答

0

实现一个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注释。

0

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

为会话创建sessionScope,所以当您的应用运行时,会话不会被创建。

您可能需要它的应用程序范围。

,或者如果你想有一个请求时,你要处理的会话范围,你可以使用Filter

0

使用jsp做到每次:useBean标签spec

如果设置类属性,那么如果没有豆存在于它会创建(默认构造函数必须出示)