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) 编辑 收藏 举报