当前位置:   article > 正文

Session基本使用及原理和使用细节_session的使用方法及实例

session的使用方法及实例

目录

一、Session基本使用

二、Session原理

三、Session使用细节


一、Session基本使用

服务端会话跟踪技术:将数据保存到服务端

JavaEE提供HttpSession接口,来实现一次会话的多次请求间数据共享功能

 使用:

1、获取Session对象

HttpSession session = request.getSession();

2、Session对象功能:

void setAttribute(String name,Object o):存储数据到session域中

Object getAttribute(String name):根据key,获取值

void removeAttribute(String name):根据key,删除该键值对

代码示例:

ServletDemo1:

  1. import javax.servlet.*;
  2. import javax.servlet.http.*;
  3. import javax.servlet.annotation.*;
  4. import java.io.IOException;
  5. @WebServlet("/demo1")
  6. public class ServletDemo1 extends HttpServlet {
  7. @Override
  8. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  9. //存储到Session中
  10. //1.获取Session对象
  11. HttpSession session = request.getSession();
  12. //2.存储数据
  13. session.setAttribute("username","zs");
  14. }
  15. @Override
  16. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  17. this.doGet(request, response);
  18. }
  19. }

ServletDemo2:

  1. import javax.servlet.*;
  2. import javax.servlet.http.*;
  3. import javax.servlet.annotation.*;
  4. import java.io.IOException;
  5. @WebServlet("/demo2")
  6. public class ServletDemo2 extends HttpServlet {
  7. @Override
  8. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  9. //获取数据,从session中
  10. //1.获取Session对象
  11. HttpSession session = request.getSession();
  12. //2.获取数据
  13. Object username = session.getAttribute("username");
  14. System.out.println(username);
  15. }
  16. @Override
  17. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  18. this.doGet(request, response);
  19. }
  20. }

访问demo1及demo2时控制台输出:

 二、Session原理

Session是基于Cookie实现的

 关闭浏览器后重新访问demo1的浏览器开发者工具显示:

 重新访问demo2的浏览器开发者工具显示:

 三、Session使用细节

 Session钝化、活化:

钝化:在服务器正常关闭后,Tomcat会自动将Session数据写入硬盘的文件中

活化:再次启动服务器后,从文件中加载数据到Session中

Session销毁:

默认情况下,无操作,30分钟自动销毁

  1. <session=config>
  2. <session-timeout>30</session-timeout>
  3. </session-config>

调用Session对象的invalidate()方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/159813
推荐阅读
相关标签
  

闽ICP备14008679号