Home >Java >javaTutorial >JavaWeb Session expiration time setting method
Session expiration time setting method, the specific method is as follows:
1. Java code b31bcbb7704c57f7d5f53bf3f2cd47c1
request.getSession().setMaxInactiveInterval(1800);/*秒为单位,1800= 60*30 即30分种*/
2. web.xml 68dca31ee367ab81618dbbcbc419316e
<session-config> <!--分钟为单位--> <session-timeout>30</session-timeout> </session-config>
3. Web server resin.conf, tomcat,
<session-config> <!--分钟为单位--> <session-timeout>30</session-timeout> <enable-url-rewriting>false</enable-url-rewriting> </session-config>
Priority: 1 > 3 > 2
session generally does not become invalid after restarting tomcat. After closing the browser, the session becomes invalid
In general systems , you may also need to do some operations after the session fails:
(1) Control the number of users. When the session fails, the number of users in the system is reduced by one, etc., and the number of users is controlled within a certain range. Ensure system performance.
(2) Control a user to log in multiple times. When the session is valid, if the same user logs in, it will prompt that the user has logged in. When the session expires, you can log in directly without prompting.
So how to perform a series of operations after the session expires?
You need to use a listener here, that is, when the session fails due to various reasons, the listener can monitor it, and then execute the program defined in the listener.
The listener class is: HttpSessionListener class, which has two methods: sessionCreated and sessionDestroyed
You can inherit this class and implement it separately.
SessionCreated refers to the method executed when the session is created
SessionDestroyed refers to the method executed when the session fails
is as follows:
public class OnlineListener implements HttpSessionListener{ public void sessionCreated(HttpSessionEvent event) { HttpSession ses = event.getSession(); String id=ses.getId()+ses.getCreationTime(); SummerConstant.UserMap.put(id, Boolean.TRUE); //添加用户 } public void sessionDestroyed(HttpSessionEvent event) { HttpSession ses = event.getSession(); String id=ses.getId()+ses.getCreationTime(); synchronized (this) { SummerConstant.USERNUM--; //用户数减一 SummerConstant.UserMap.remove(id); //从用户组中移除掉,用户组为一个map } } }
Just declare this listener in web.xml:
<listener> <listener-class>com.demo.system.listener.OnlineListener</listener-class> </listener>
The above is a simple method of using session to monitor the number of users. In the actual process , it may be much more complicated than this.
For example, you need to implement two interfaces, ServletContextListener and HttpSessionListener, at the same time, and rewrite their methods.
The above is the JavaWeb Session expiration time setting method introduced by the editor. I hope it will be helpful to you. If you have any questions, please leave me a message and the editor will reply to you in time. I would also like to thank you all for your support of the PHP Chinese website!
For more articles related to the JavaWeb Session expiration time setting method, please pay attention to the PHP Chinese website!