首页 > 其他分享 >会话技术Session_细节和特点

会话技术Session_细节和特点

时间:2022-08-14 20:37:00浏览次数:62  
标签:Session 会话 细节 session Cookie 关闭 服务器 response

细节:

1.当客户端关闭后,服务器不关闭,两次获取Session是否为同一个?

   1.默认情况下不是

把浏览器关闭后在访问 session的地址值不一样了

 

 

 如果需要相同,则可以创建Cookie,键为JSESSIONID,设置最大存活时间,让cookie持久化保存

@WebServlet("/sessionD3")
public class SessionD3 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //使用Session获取数据
        //获取Session
        HttpSession session = request.getSession();
        System.out.println(session);
        //期望客户端关闭后,session也能相同
        Cookie c = new Cookie("JSESSIONID", session.getId());
        c.setMaxAge(60*60);
        response.addCookie(c);

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

2.客户端不关闭,服务器关闭后,两次获取的session是同一个吗?

  1.不是同一个,要确保数据不丢失

 

 

 

  >session的钝化:

    在服务器正常关闭之前,将session对象序列化到硬盘上

  >session的活化:

    在服务器启动后,将session文件转化为内存中的session对象即可。

##(tomcat服务器已经帮我们把钝化和活化的事情完成了,我们不需要考虑

idea中完成不了,它可以钝化,但是活化不了)——操作(20_会话技术_Session_细节2)

【本地硬盘操作】

 

3.session的失效时间(什么时候被销毁)。

  1.服务器关闭

  2.session对象调用invalidate()。

  3.session默认失效时间 30分钟

在D:\apache-tomcat-9.0.22\conf\web.xml下

  配置修改

     <session-config>

    <session-timeout>30</session-timeout>

    </session-config>

session的特点

①session用于存储一次会话的多次请求的数据,存在服务器端

②session可以存储任意类型,任意大小的数据

session与cookie的区别:

  1.session存储数据在服务器端,Cookie在客户端

  2.session没有数据大小限制,Cookie有

  3.session数据安全,Cookie相对于不安全

 

搜索

复制

 

标签:Session,会话,细节,session,Cookie,关闭,服务器,response
From: https://www.cnblogs.com/pengtianyang/p/16586225.html

相关文章

  • session与cookie
    一,什么是Session1.   session 代表服务器与浏览器的一次会话;2.  session  是一种服务器端的机制,session对象用来储存特性用户会话所需要的信息;3.  sessi......