标签: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 来源: https://www.cnblogs.com/pengtianyang/p/16586225.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。