会话跟踪技术-Session

session
作用
实现同一个客户端,不同请求之间的数据传递

数据放在WebServer中的HttpSession对象中
1、每个客户端对应一个唯一的Session对象
2、setAttribute(String,object)
Object getAttribute(String)
request,getSession()
getSession(boolean)

web.xml中设置session生命周期3分钟
<session-config>
<session-timeout>3</session-timeout>
</session-config>

protected void service(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException {
        HttpSession session = req.getSession();
        Object userName = session.getAttribute("userName");
        session = req.getSession(true);
        //保证肯定会返回一个Session对象
        session = req.getSession(false);
        //有可能返回null
        System.out.println(userName);
        session.setAttribute("userName", "张三");//放和拿都在服务器中不存在转码问题
        String id = session.getId();//session ID
        System.out.println(id);
        session.setMaxInactiveInterval(300);//session生命周期 单位秒
        //session.invalidate();//让session立马结束生命周期
        PrintWriter out = res.getWriter();
        String url = res.encodeRedirectURL("sessionServlet");
        //url重写,传递sessionID
        System.out.println(url);
        out.print("<a href='"+url+"'>111</a>");
    }

当Cookie被禁用的时候可以使用URL重写进行传递SessionID来实现session

String url = res.encodeRedirectURL("sessionServlet");
        //url重写,传递sessionID
        System.out.println(url);
        out.print("<a href='"+url+"'>111</a>");
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2.1 软件中的会话 一次会话: 打开浏览器 -> 访问一些服务器内容 -> 关闭浏览器 登录场景: 打开浏览器 ...
    yangliangliang阅读 2,958评论 0 0
  • 本文包括:1、Listener简介2、Servlet监听器3、监听三个域对象创建和销毁的事件监听器4、监听三个域对...
    廖少少阅读 11,331评论 6 28
  • 一 servlet概述 狭义的Servlet指javax.servlet包中的一个接口,而广义的Servlet则是...
    静慎独阅读 3,411评论 0 0
  • Servlet:Sun公司制订的一种用来扩展Web服务器功能的组件规范。当浏览器将请求发送给Web服务器(比如:a...
    南山伐木阅读 3,638评论 0 4
  • 有位产后抑郁的妈妈离开了人间,网友为她作的漫画,看完后真的感慨万千,泪哗哗的流, 我们也是在学习如何做母亲! 丈夫...
    靖哥哥家的黄蓉阅读 5,039评论 0 0