- 浏览: 46603 次
- 性别:
- 来自: 广州
文章分类
最新评论
如果浏览器不支持 cookies,或将浏览器设置为不接受 cookies,我们能通过 url 重写来实现会话管理。
实质上 url 重写是通过向 url 连接添加参数,并把 session id 作为值包含在连接中。然而,为使这生效,你需要为你的 servlet 响应部分的每个连接添加 session id 。 把 session id 加到一个连接能使用一对方法来简化:response.encodeurl()
使 url 包含 session id,如果你需要使用重定向,能使用 response.encoderedirecturl () 来对 url 进行编码。
encodeurl () 及 encoderedirectedurl () 方法首先判断 cookies 是否被浏览器 支持;如果支持,则参数 url 被原样返回,session id 将通过 cookies 来维持。
下 面有个例子,两个 jsp 文件:hello1.jsp 和 hello2.jsp,及他们之间的影响 。我们在 hello1.jsp 中简单的创建一个会话,并在 session 中存储一个对象实例。接着用户能点击页面的连接到达 hello2.jsp。在 hello2.jsp 中,我们从 session 中获取原先放置的对象并显示他的内容。注意,我们在 hello1.jsp 中调用了 encodeurl() 方法来获得 hello2.jsp 的链接,使得在浏览器停用 cookies 的情况下,session id 自动添加到 url,hello2.jsp 仍能得到 session 对象。
首先在启用 cookies 的情况下运行。然后关闭对 cookie 的支持,重启浏览器,再运行一次。每次你都能看到会话管理在起作用,并能在页之间传递信息。
注意,如果你想让这个例子能在关闭了 cookies 的浏览器中工作,你的 jsp 引擎必须支持 url 重写。
hello1.jsp
<%@ page session="true" %>
<%
integer num = new integer(100);
session.putvalue("num",num);
string url =response.encodeurl("hello2.jsp");
%>
<a href=<%=url%>>hello2.jsp</a>
hello2.jsp
<%@ page session="true" %>
<%
integer i= (integer)session.getvalue("num");
out.println("num value in session is "+i.intvalue());
%>
发表评论
-
java web项目配置tomcat连接池
2011-09-20 23:33 1752本文包含两部分内容。第一部分是在eclipse下配置项目 ... -
javaweb中的请求--响应流程(get方式提交请求)
2011-09-11 22:30 995javaweb中的请求--响应流程(get方式提交请求) -
JSP入门需要知道的五个方面
2011-09-10 21:16 789本文是一个JSP入门的简单的总结性文章,从Servlet知 ... -
Form表单提交数据编码方式和tomcat接受数据解码方式的思考
2011-09-10 21:11 520form有2中方法把数据提 ... -
execute、executeQuery和executeUpdate之间的区别
2011-09-10 21:09 670JDBCTM中Statement接口提 ... -
使用eclipse开发J2EE应用
2011-09-10 21:08 717使用eclipse开发J2EE应用 -
web.xml文件在web项目中的作用及基本配置
2011-09-10 21:03 1885web 工程中的 web.xml 文件有什 ... -
JSP入门之避免Form表单重复提交的几种方案
2011-09-10 20:59 1080对于JSP 入门的初级的学习者表单的提交是一个非常困扰 ... -
java中文乱码解决方法
2011-09-10 20:56 7451 .以POST 方法提交 ... -
jsp实现网页计数器(防刷新计数和防刷新单用户计数)
2011-09-10 20:51 1254jsp实现网页计数器(防刷新计数和防刷新单用户计数) -
jsp分页实现
2011-09-10 20:47 590jsp分页实现 -
多图详解教程:Eclipse3.6连接Tomcat7
2011-09-10 20:44 698多图详解教程:Eclipse3.6连接Tomcat7(见附件) ... -
jsp环境下session的创建
2011-09-08 20:54 7921)-不恰当的request.getSessi ... -
跳出页面的Frame框架
2011-09-08 12:12 619如何跳出页面的Frame 框架 很多网页都是框架结构的 ... -
使用eclipse开发J2EE应用
2011-09-08 12:09 0<!-- [if !mso]> <styl ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2011-09-08 12:05 650一、 1、启动一个WEB项 ... -
UrlRewriter url重写
2011-09-08 12:04 774如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的 ... -
TOMCAT数据库连接池的配置方法总结
2011-09-08 12:02 822以MySQL+TOMCAT 为例 1. ... -
Tomcat解决中文转码问题
2011-09-08 11:51 1851Tomcat解决中文转码问题 ... -
Tomcat与IIS整合手记
2011-09-08 11:49 974安装配置 IIS6 和 Tomcat6 ...
相关推荐
购物车的四种做法(hidden、url重写、cookie、会话)
hosts是一个便捷的主机+ url重写管理工具,通过读取当前目录下的yaml文件来启动指定主机+ url rewrite规则配置的chrome会话-并通过--load-extension &-- --user-data-dir参数让各chrome会话之间相互隔离,实现会话...
会话跟踪 4.1 会话管理 4.2 通过Cookie支持会话 ...4.3 URL重写与隐藏表单域 4.1.1 理解状态与会话 4.1.2 会话管理机制 4.1.3 HttpSession接口 4.1.4 使用HttpSession对象 4.1.5 会话超时与结束
隐藏表单案例-index.jsp 把id写进Hidden表单里,用户看 不见,但是只要表单一提交, 这个参数值就可以提交给a.jsp 隐藏表单 VS URL重写 同重写URL技术相比,隐藏表单技术是利用表单来传递会话信息,而URL重写技术是...
cookie 或重写 URL 此接口允许 servlet 查看和操作有关某个会话的信息 比如会话标识符 创建时间和最后一次访问时间 将对象绑定到会话 允许跨多个用户连接保留用户信息 当应用程序将对象存储到会话中或从会话中...
3.4.8 分页与URL重写 3.4.9 重写图像和流媒体 3.5 重写没有解决的问题 3.6 最后的警告 3.7 小结 第4章 内容重定向和HTTP状态代码 4.1 HTTP状态代码 4.2 使用301和302重定向 4.2.1 301代码 4.2.2 302代码 4.3 使用404...
JavaWeb复习题知识点总结 ...20. 会话跟踪技术:URL重写、Cookie、Session都是实现会话跟踪技术的方法,使用application不能实现会话跟踪。 21. page指令:import属性用来引入需要引入的类或接口。
3.4.8 分页与URL重写 3.4.9 重写图像和流媒体 3.5 重写没有解决的问题 3.6 最后的警告 3.7 小结 第4章 内容重定向和HTTP状态代码 4.1 HTTP状态代码 4.2 使用301和302重定向 4.2.1 301代码 4.2.2 302代码 ...
除了Cookie、Session,会话技术还有重写Url、隐藏表单域两种,不过使用起来比较不方便,因此就不进行介绍了。 那理论学完了,我们就通过几个小案例还动手实践下,今天这篇文章就带大家使用Cookie与Session来完成...
JSP100选择题 适合考前练习 1 J2EE 中,()类的()方法用于创建对话。(选择一项) ...在禁用Cookie时可以使用URL重写技术跟踪会话 D.隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示 …………
当cookie被禁止后,可以使用URL重写来实现session。URL重写可以将sessionID以参数的方式链接到URL后面,从而保证每次页面提交时服务器都能获得sessionID,从而维持和客户端的状态。 10. 项目开发的阶段 项目开发...
完美的利用了浏览器的XML解析技术,... 内部实现了URL重写,可以在任何.net空间运行。 支持虚拟目录。 兼容性 Mozilla Firefox v1.5.0.0 以上版本 Microsoft Internet Explorer v6.0 以上版本
(1)针对多窗口类浏览器模式问题,指出并分析了该问题存在的原因,利用Activity的运行机制,通过Fragment栈对主要模块的Webview进行管理,实现对不同模块之间切换的控制。 (2)针对跨域数据交互问题,指出并分析了...
大家都知道,比如我们登录一个OA网站,看到的数据和同事的是有不同的,简单一想,是因为我们的登录账户不同,但是技术上是怎么实现的呢? 尤其是login后,我们访问的都是同一个URL,为什么页面上展示的数据会不同呢...
57 4.3.7 Servlet协作 57 4.3.8 Filter 58 4.4 使用Servlet处理客户端请求 58 4.5 会话跟踪 61 4.5.1 使用Cookie进行会话跟踪 61 4.5.2 使用URL重写进行会话跟踪 62 4.5.3 使用隐藏表单域进行会话跟踪 63 4.6 小结 ...
加入的意思是返回会话跟踪信息到服务器中,指出会话已被建立。在客户端加入之前,我们不能判断下一个客户端请求是目前会话的一部分。 在下面的情况下,Session会被认为是新的Session。 客户端的Session在此之前还不...
<br> 内部实现了URL重写,可以在任何.net空间运行。 <br> 支持虚拟目录。 <br> 1.0 build80707的新特性 * 实现了对OPERA浏览器的兼容性 * 实现多文件同时上传 * 取消了页面上的SELECT控件...
* authorization 节:控制对 URL 资源的客户端访问(如允许匿名用户访问)。 * compilation 节:配置 ASP.NET 使用的所有编译设置。 * customErrors 节:为 ASP.NET 应用程序提供有关自定义错误信息的信息。 * ...
J2EE中文API文档 public interface HttpSession 版本: 创建时间2007-11-7 下午05:55:23 类说明 这个接口被Servlet引擎用来实现在HTTP客户端和HTTP会话两者的关联。... 一个 session可以通过cookie或重写URL来维持。