1. 获取 Session 对象:
- 可以通过 HttpServletRequest 对象的 getSession() 方法获取 Session 对象。如果客户端没有关联的 Session,则会创建一个新的 Session。
HttpSession session = request.getSession();
- 可以使用 getSession(false) 方法,如果 Session 已存在,则返回现有的 Session,否则返回 null。
HttpSession session = request.getSession(false);
2. 向 Session 中存储数据:
- 使用 HttpSession 对象的 setAttribute() 方法向 Session 中存储数据。
HttpSession session = request.getSession();
session.setAttribute("username", "JohnDoe");
3. 从 Session 中获取数据:
- 使用 HttpSession 对象的 getAttribute() 方法从 Session 中获取存储的数据。
HttpSession session = request.getSession();
String username = (String) session.getAttribute("username");
4. Session 超时设置:
- 可以通过在 web.xml 文件中配置 session-timeout 元素来设置 Session 的超时时间(以分钟为单位)。
<session-config>
<session-timeout>30</session-timeout> <!-- 设置超时时间为30分钟 -->
</session-config>
- 也可以通过 setMaxInactiveInterval 方法动态设置 Session 的超时时间(以秒为单位)。
HttpSession session = request.getSession();
session.setMaxInactiveInterval(1800); // 设置超时时间为1800秒,即30分钟
5. Session 销毁:
- 可以使用 invalidate() 方法来销毁 Session。这通常在用户注销或需要清除 Session 数据时使用。
HttpSession session = request.getSession();
session.invalidate(); // 销毁 Session
Session 跟踪允许在用户与应用程序之间保持状态信息,而无需将所有数据存储在客户端。确保在使用 Session 时,合理设置超时时间和处理 Session 的生命周期。
转载请注明出处:http://www.pingtaimeng.com/article/detail/13646/Servlet