Interface HttpSession

本文详细介绍了Web应用中Session的概念及其通过URL重写和表单隐藏字段实现的方式,包括SessionID的传递机制及注意事项。

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

 

附录:

转载于:https://www.cnblogs.com/trustnature/articles/3303659.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值