java-web8-Session基础知识

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 java-web8-Session基础知识,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

8. Session

8.1 session阐述

  • 服务器给每个用户(浏览器)创建唯一个session对象,用户拿到了唯一的sessionID
  • 一个session独占一个浏览器,只要浏览器没关闭,这个session就存在
  • 浏览器关闭,session也存在,只是浏览器关闭后没有cookie导致找不到对应的session,不设置都是二十分钟失效
  • 用户登录后整个网站都可以使用
  • 使用场景:登录信息;购物车信息;整个网站中经常使用的信息,保存在session中

8.2 session使用

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setContentType("text/html;charset=utf-8");
    req.setCharacterEncoding("utf-8");
    //获得session
    HttpSession session = req.getSession();
    String sessionId = session.getId();
    //session是否是新创建的
    if (session.isNew()) {
        resp.getWriter().write("session创建成功:"+sessionId);
    }else {
        resp.getWriter().write("session已经存在:"+sessionId);
    }
    /*将JSESSIONID放入Cookie中
    Cookie jsessionid = new Cookie("JSESSIONID", sessionId);
    resp.addCookie(jsessionid);*/

}

8.3 session注销

  • 手动注销
HttpSession session = req.getSession();
//手动注销session,但会产生一个新的session
session.invalidate();
  • 自动注销web.xml
<!--设置session默认的失效时间-->
<session-config>
    <!--20分钟后session过期,以分钟为单位-->
    <session-timeout>20</session-timeout>
</session-config>

8.4 session和cookie区别

  • cookie把用户数据写给用户浏览器,浏览器保存多个
  • session把用户数据写到用户自己的session中,服务器端保存。(保存重要的信息,减少服务器资源的浪费)
  • session由服务器创建。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123939.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!