JavaWeb-024-利用URL重写HttpSession

介绍

  • Servlet规范中引入了一种补充的会话管理机制,它允许不支持Cookie的浏览器也可以与WEB服务器保持连续的会话。这种补充机制要求在响应消息的实体内容中必须包含下一次请求的超链接,并将会话标识号作为超链接的URL地址的一个特殊参数。

  • 将会话标识号以参数形式附加在超链接的URL地址后面的技术称为URL重写。如果在浏览器不支持Cookie或者关闭了Cookie功能的情况下,WEB服务器还要能够与浏览器实现有状态的会话,就必须对所有可能被客户端访问的请求路径(包括超链接、form表单的action属性设置和重定向的URL)进行URL重写。

  • HttpServletResponse接口中定义了两个用于完成URL重写方法:
    - encodeURL方法
    - encodeRedirectURL方法


测试代码

JavaWeb-024-利用URL重写HttpSession_第1张图片
微信公众号:JavaWeb架构师

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    
会话ID : <%= session.getId() %>
是新会话? : <%= session.isNew() %>
最大内部闲置: <%= session.getMaxInactiveInterval() %>
创建时间 : <%= session.getCreationTime() %>
最后一次访问时间 : <%= session.getLastAccessedTime() %>
<% //2.获取重新登录的username Object username = session.getAttribute("username") == null ? "" : session.getAttribute("username"); %>
" method="post">

hello.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


    
        
        Insert title here
    
    
    
        
会话ID : <%= session.getId() %>
是新会话? : <%= session.isNew() %>
最大内部闲置: <%= session.getMaxInactiveInterval() %>
创建时间 : <%= session.getCreationTime() %>
最后一次访问时间 : <%= session.getLastAccessedTime() %>
你好! <%= request.getParameter("username") %>
<% //1.设置会话的属性值,想在重新登录的页面能直接显示上一次的登录名 session.setAttribute("username", request.getParameter("username")); %> "> 重新登录       ">注销

logout.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


    
        
        Insert title here
    
    
    
        
会话ID : <%= session.getId() %>
是新会话? : <%= session.isNew() %>
最大内部闲置: <%= session.getMaxInactiveInterval() %>
创建时间 : <%= session.getCreationTime() %>
最后一次访问时间 : <%= session.getLastAccessedTime() %>
再见 <%= session.getAttribute("username") %>
<% //销毁session session.invalidate(); %>
微信公众号:JavaWeb架构师

其它

  • 源码下载
关注下方公众号,回复:javaweb_course.code
  • 欢迎加入交流群:451826376

  • 更多信息:www.itcourse.top

完整教程PDF版本下载

你可能感兴趣的:(JavaWeb-024-利用URL重写HttpSession)