• Session


    打开一个浏览器如果创建了session那么这个浏览器对应一个session,再打开一个就不能用了(IE8以上除外)。

    原因: 

    session基于cookie,每个session被创建的时候都有一个ID,并把这个ID以cookie的方式发给浏览器。

    这个存id的cookie没有设有效期,所以浏览器关了cookie就消失了。

    解决办法:

    修改默认的cookie

    String sessionid = session.getId();

    Cookie cookie = new Cookie(“JSESSIONID”,sessionid);

    cookie.setPath(“/session”);

    cookie.setMaxAge(30*60);

    response.addCookie(cookie);

    如果用户把cookie禁用了,解决办法如下:

    url重写。在url地址后边跟上session id号,现成方法如下":

    String url1 = esponse. encodeURL(“/session/servlet/SessionDemo1”);

    该方法会自将为url变成

    “/session/servlet/SessionDemo1;jsessionid=***”  ***为session id号

    配置文件自动摧毁session

    在tomcat的web.xml中可以配置:

    <session-config>

       <session-timeout>10</session-timeout>

    </session-config>

    session保存十分钟。

    在程序中摧毁session

    session.invalidate();

    request.getSession();//获取session,如果没有就创建。

    request.getSession(false);//只获取不创建session

  • 相关阅读:
    新框架的选择
    ‘’火星文‘’的解析
    http.request请求及在node中post请求参数解析
    http.request的请求
    ReactNative环境配置的坑
    return false与return true的区别
    什么是DOM,DOM level 123 的区别是什么
    页面重绘和回流以及优化
    时代人物之任正非
    Adriod与HTML+JS的交互
  • 原文地址:https://www.cnblogs.com/flying607/p/3452675.html
Copyright © 2020-2023  润新知