Interface HttpSession

session:简介

1、Session URL重写

经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。

例如:

//为了测试效果:利用jsp跳转过去
<form action="tr" method="get">
  <input type="submit" value="Submit" />
</form>
//这是tr          
HttpSession session = request.getSession();  	          
session.setAttribute("username", “zhangsan”);  
String url = response.encodeRedirectURL("tr2");  
response.sendRedirect(url);  
//这是tr2
HttpSession session = request.getSession();                
PrintWriter out = response.getWriter();
out.println(session.getAttribute("username"));
out.println(session.getId());

 

 效果:

第一次访问tr时:要求建立jsessionid

跳转后:

 

注意:上面是没有禁止cookie的情况下,当客户端不支持cookie是,就会使用url来传递sessionid,否则会直接用cookie来传递sessionid。

2、表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。

<form action="tr2" method="get">
<input type="hidden" name="jsessionid" value="bbdsafewffssafsafsafs" />
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>

 效果:

http://localhost:8080/test/tr2?jsessionid=bbdsafewffssafsafsafs&fname=asdf&lname=asfd

 

附录:

posted on 2013-09-05 16:51  TrustNature  阅读(216)  评论(0编辑  收藏  举报