HttpSession的用法
时间: 2023-12-12 13:04:07 浏览: 67
HttpSession是一种用于存储用户会话状态的域,它可以在多个请求之间共享数据,并且在同一个会话中的所有请求都可以访问这些数据。在Java中,使用HttpSession可以方便地实现用户登录、购物车等功能。
以下是HttpSession的基本用法:
1. 获取HttpSession对象:可以通过HttpServletRequest对象的getSession()方法获取HttpSession对象。如果请求中不存在HttpSession对象,则该方法会自动创建一个新的HttpSession对象。
```
HttpSession session = request.getSession();
```
2. 存储和获取数据:可以使用setAttribute()和getAttribute()方法来存储和获取数据。存储时需要指定一个名称和一个值,获取时只需要指定名称即可。
```
// 存储数据
session.setAttribute("username", "张三");
// 获取数据
String username = (String) session.getAttribute("username");
```
3. 设置会话过期时间:可以使用setMaxInactiveInterval()方法来设置会话的最大不活动时间。如果超过了该时间,会话将自动失效。该方法的单位是秒,如果不调用该方法,则会话将一直保持有效。
```
// 设置会话最大不活动时间为30分钟
session.setMaxInactiveInterval(30 * 60);
```
4. 销毁会话:可以使用invalidate()方法来销毁会话。一般在用户注销或超时时调用该方法。
```
session.invalidate();
```
以上就是HttpSession的基本用法。需要注意的是,HttpSession中存储的数据类型必须是可序列化的,否则会抛出NotSerializableException异常。
阅读全文