2011-11-01 101 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

如果設置類屬性,那麼如果沒有豆存在於它會創建(默認構造函數必須出示)