session-timeout in JSF

2020-07-23 05:12发布

问题:

I use the following codes to create a session object in JSF. The problem is that after sometime when I am trying to access userdet object it is giving me exception possibly because of session timeout. Is there anyway to increase the session timeout in JSF.

            FacesContext context = FacesContext.getCurrentInstance();
            HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
            session.setAttribute("userdet",user);

When I use servlet I use the following codes but is it applicable to JSF also?

<web-app ...>
    <session-config>
        <session-timeout>20</session-timeout>
    </session-config>
</web-app>

回答1:

Yes. Session timeout for JSF applications is set in web.xml too.

In fact JSF makes use of Java Servlets to handle http requests and responses.



回答2:

As dcernahoschi states, the web.xml will define the session timeout for JSF.

This can also be set programmatically via the HttpSession as well, using the setMaxInactiveInterval method.