URL重写实现session跟踪
来源:互联网 发布:手机行车记录软件 编辑:程序博客网 时间:2024/05/17 22:00
一般情况下,session是通过非持久cookie进行跟踪的,即服务端向客户端发送的JSESSIONID来实现的,但是如果客户端禁止了cookie,session就无法实现跟踪会话,这样对于web应用来说非常不方便;还有一种方法就是用隐藏表单域,这个只能用于特定操作中,仅当每个页面都由表单提交而动态生成的时候,才可以使用隐藏表单域,用来存储相关会话信息,用法为:
<input type="hidden" name="jssesionid" value="7D8449A7EF434DE66DED63227E02AC1E">
下面介绍一种方便通用的方法:通过URL重写技术实现Session的跟踪会话。
下面是测试案例:
提交请求的servlet:SessionTest.java
<pre name="code" class="java">public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubrequest.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();HttpSession s = request.getSession(true);s.setAttribute("person1", new Person("xjd", 22));s.setAttribute("person2", new Person("xjd1", 23));String path = response.encodeURL("./getForm");out.println("<html><head><title>URL重定向测试</title></head>");out.println("<body><form action='"+path+"' method='post'>");out.println("用户名:<input type='text' name='user'><br>");out.println("密码:<input type='password' name='pass'><br>");out.println("<input type='submit'><br>");}
处理请求的Servlet: GetForm.javapublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stubrequest.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();HttpSession s = request.getSession(true);out.println(s.isNew()+"<br>");out.println(s.getAttribute("person1")+"<br>");out.println(s.getAttribute("person2")+"<br>");}浏览器禁止cookie后,运行结果为:false
com.session.demo.Person@26d4f204
com.session.demo.Person@665cf886
地址栏为:http://localhost:8080/SessionTest/getForm;jsessionid=7D8449A7EF434DE66DED63227E02AC1E
可见经过String path = response.encodeURL("./getForm");处理后,path中已经将jsessionid值通过URL形式传递给了服务器端,故可以实现session的跟踪会话
0 0
- URL重写实现session跟踪
- 使用url重写实现Session跟踪
- servlet url 重写实现session跟踪
- URL重写实现会话跟踪
- URL重写实现会话跟踪
- 传智播客Java web学习,url重写实现Session跟踪以及Session的持久化
- url重写实现session跟踪和一次性验证码的实现
- url重写实现session跟踪和一次性验证码的实现
- jsp的URL重写实现会话跟踪技术
- Session通过URL重写
- session URL重写
- url重写session
- URL重写及Session
- 使用 URL 重写跟踪会话
- jsp页面中的session、cookies、隐藏域、url重写四种会话及跟踪方式
- jsp页面中的session、cookies、隐藏域、url重写四种会话及跟踪方式
- jsp页面中的session、cookies、隐藏域、url重写四种会话及跟踪方式
- jsp中使用URL重写跟踪Session,浏览器不支持Cookie的解决方案
- Activity杀死进程退出
- selector
- 分页读取手机联系人
- C++学习之重载函数
- nodejs 简单爬虫(二)
- URL重写实现session跟踪
- php数据的存储和检索
- 免费无限制的公有云服务Bmob之二 创建表添加行
- 网关,路由,局域网内的通信及不同的网络间通信实现的原理剖析
- poj解题报告——3126
- 【LeetCode】Binary Tree Inorder Traversal
- VMware Network Adapter VMnet1和VMnet8 未识别的网络 的解决方法
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 常用 DOS 命令