JavaWeb Session expiration time setting method
Session expiration time setting method, the specific method is as follows:
1. Java code
request.getSession().setMaxInactiveInterval(1800);/*秒为单位,1800= 60*30 即30分种*/
2. web.xml
<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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

Field mapping processing in system docking often encounters a difficult problem when performing system docking: how to effectively map the interface fields of system A...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

Start Spring using IntelliJIDEAUltimate version...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...

When using TKMyBatis for database queries, how to gracefully get entity class variable names to build query conditions is a common problem. This article will pin...
