- 浏览: 1379009 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (328)
- JSF (27)
- 生活 (12)
- Ajax (26)
- Maven (6)
- CSS (1)
- Shale (3)
- SiteMesh (1)
- Ext (15)
- JMX (2)
- Windows技巧 (7)
- 工作感悟 (18)
- SVN (2)
- SVG (0)
- GoogleGear (0)
- RAP (2)
- SOA与WebService (3)
- 笔记本技术研究 (1)
- Microsoft (2)
- 英语学习 (3)
- PHP (7)
- web 2.0 (6)
- 语义Web (1)
- IT史话 (3)
- iText (3)
- JVM (1)
- PropertiesEditor (1)
- J2SE (33)
- Spring (2)
- Java Batch (1)
- log (2)
- Struts2 (2)
- DWR (0)
- JAAS (3)
- EJB3 (4)
- Flex (8)
- JFreeChart (1)
- WAS (0)
- 数据库 (2)
- 摄影 (0)
- SQL (1)
- Google App Engine (1)
- linux (5)
- Eclipse plugin (10)
- Testing (0)
- Portal (0)
- 移动互联网 (0)
- SWTBot (1)
最新评论
-
江奇缘:
不错!!!!!!
web.xml里<filter-mapping>中的<dispatcher>作用 -
yy8093:
commonj 第三步,那个调用的方法要在哪里调?servle ...
JAVA中多种计时器的比较与分析 -
di1984HIT:
学习了,不错~
web.xml里<filter-mapping>中的<dispatcher>作用 -
penkee:
com.lowagie.text.DocumentExcept ...
iText中输出 中文 -
氵壞男亼乀:
我想请问下 你哪个html里面引入的几个js文件没看懂!你 ...
DWR入门教程之HelloWorld
JSP的重定向有两种:forward和sendRedirect,它们的原理以及区别是什么呢?
它们在使用上的区别有很多,那些都是表面现象,在理解了它们各自的原理以后,使用上的区别那就能容易掌握了。
一、
原理.
1、
Forward
这种方式是在服务器
端作的重定向。服务器
往client发送数据的过程是这样的:服务器
在
向客户端发送数据之前,是先将数据输出到缓冲区,然后将缓冲区中数据发送给client端。什么时候将缓冲区里的数据发送给client端呢?(1)当对
来自client的request处理完,并把所有数据输出到缓冲区,(2)当缓冲区满,(3)在程序中调用缓冲区的输出方法out.flush()或
response.flushbuffer(),web container才将缓冲区中的数据发送给client。
这种重定向方式是利用服务器
端的缓冲区机制,在把缓冲区的数据发送到客户端之前,原来的数据不发送,将执行转向重定向页面,发送重定向页面的数据,重定向调用页的数据将被清除。如果在<JSP:FORWORD>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么这种重定向方式将不起作用,这一点应该特别注意。
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/html; charset=UTF-8"); ServletContext sc = getServletContext(); RequestDispatcher rd = null; rd = sc.getRequestDispatcher("/index.jsp"); rd.forward(request, response); }
2、
sendRedirect这种方式是在客户端作的重定向处理。该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,让浏览器对在location中指定的URL
提出请求,使浏览器显示重定向网页的内容。该方法可以接受绝对的或相对的URLs。如果传递到该方法的参数是一个相对的URL,那么Web container在将它发送到客户端前会把它转换成一个绝对的URL。
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/html; charset=UTF-8"); response.sendRedirect("/index.jsp"); }
二、区别.
1、forward重定向是在容器内部实现的同一个Web应用程序的重定向,所以forward方法只能重定向到同一个Web应用程序中的一个资源,
重定向后浏览器地址栏
URL
不变
,而sendRedirect方法可以重定向到任何URL, 因为这种方法是修改http头来实现的,URL没什么限制,
重定向后浏览器地址栏
URL
改变
。
2、forward重定向将原始的HTTP请求对象(request)从一个servlet实例传递到另一个实例,而采用sendRedirect方式两者不是同一个application。
3、基于第二点,参数的传递方式不一样。forward的form参数跟着传递,所以在第二个实例中可以取得HTTP请求的参数。sendRedirect只能通过链接传递参数,response.sendRedirect(“
login.jsp?param1=a”)。
4、sendRedirect能够处理相对URL,自动把它们转换成绝对URL,如果地址是相对的,没有一个‘/’,那么Web container就认为它是相对于当前的请求URI
的。比如,如果为response.sendRedirect("login.jsp"),则会从当前servlet 的URL
路径下找login.jsp: http://10.1.18.8:8081/dms/servlet/Servlet 重定向的URL: http://10.1.18.8:8081/dms/servlet/login.jsp
,如果为response.sendRedirect("/login.jsp")则会从当前应用径下查找url:http://10.1.18.8:8081/login.jsp
。而forward不能这样处理相对路径。
又一篇:HTML meta content-language 定义页面语言
refresh
属性值 -- 刷新与跳转(重定向)页面
- refresh 用于刷新与跳转(重定向)页面
- refresh出现在http-equiv 属性中,使用content 属性表示刷新或跳转的开始时间与跳转的网址
- 引用网址:http://www.dreamdu.com/xhtml/refresh/
refresh示例
5秒之后刷新本页面:
<meta http-equiv="refresh" content="5" />
5秒之后转到梦之都首页:
<meta http-equiv="refresh" content="5; url=http://www.dreamdu.com/" />
发表评论
-
超强1000个jquery极品插件!(连载中。。。。最近更新20090710)
2009-11-26 16:01 4703花N长时间积累的Jquery插件,希望大家喜欢。大家 ... -
jquery cycle plugin
2009-11-04 15:38 2538‹‹ home jQuery Cycle Pl ... -
VIM技巧
2009-04-24 16:06 1824(1).w跳到下面一个单词(word) (2).b跳到上面一 ... -
HTML 特殊字符表
2009-04-01 16:01 1636With the exception of HTML 2.0 ... -
Web开发中不可缺少的浏览器相关工具
2009-03-24 13:45 1847整理了一些Web前端开发的资源,包括有浏览器开发工具,Micr ... -
AJAX开发简略 (第一部分)7.1、AJAX应用到的技术
2008-11-14 12:18 1932在使用浏览器浏览网页的时候,当页面刷新很慢的时候,你的浏览器在 ... -
JSON的三个好处
2008-10-27 10:38 2492JSON的三个好处收藏 <script>f ... -
自定义可排序表格
2008-10-15 15:22 1978首先,定义一个js: tableSort.js: func ... -
DWR对象构造,深入分析dwr中的DWRUtil.getValues
2008-09-12 09:51 2132当你需要通过dwr完成类似提交form的操作,了解DWRU ... -
深入分析dwr中的DWRUtil.$
2008-09-12 09:47 1359from:http://blog.csdn.net/pwl ... -
查看JSON对象结构
2008-08-25 10:37 4669在使用DWR时我们经常需要返回一个复杂的java对象,对于这个 ... -
DWR中数组的使用
2008-07-24 09:28 3523近日研究DWR,对于数组的转换始终有些不太明白,昨天终于了解了 ... -
Java open source forum大搜捕
2008-04-21 00:13 6612JIVE:这是个很多人非常熟悉的forum,可惜它3.0版本之 ... -
白话 Ajax 及其入门基础
2008-03-26 10:17 1688一、白话Ajax的原理 这个可以从 C/S 和 B/S 的原理 ... -
DWR入门教程之提示性文字
2008-03-25 15:40 2382DWR可以让您做个简单的 ... -
DWR入门教程之HelloWorld
2008-03-25 14:26 21143说明:这本是林信良(良葛格)的专栏 的文章,但是受不了繁体字的 ... -
2007年最新web2.0开源程序代码集合
2008-03-20 12:29 1786来自:http://www.prothink.cn/blog/ ... -
Web开发技术史话
2008-03-20 12:18 16841. 荒芜年代 1990-1 ... -
css教程–十步学会用css建站(全)
2008-03-19 12:58 2775本教程主要参考Creating a CSS Layout fr ... -
Tablesorter
2008-03-04 00:42 6186Tablesorter是一个非常好用的基于jQuery的表格排 ...
相关推荐
9. 重定向(forward与sendRedirect)区别 6 10. JSP和Servlet的区别 7 11. Cookie学习 7 12. Session学习 9 Servlet技术总结 9 1. Servlet生命周期 9 2. Servlet的方法说明: 10 3. Servlet 在web.xml中的配置 10 ...
name=frank传至下个页面,同时它可以重定向至不同的主机上,sendRedirect()可以重定向有frame.的jsp文件. 重定向后在浏览器地址栏上会出现重定向页面的URL 例:在servlet中重定向 public void doPost...
1.1.4 JSP和其他类似或相关技术的一个简单比较 10 1.2 JSP环境安装配置 12 1.2.1Tomcat下JSP环境的配置 12 1.2.1建立自己的Jsp工作目录 13 1.3 JSP语法介绍 14 1.3.1 JSP页面中的元素 14 1.3.2 ...
五种JSP页面跳转方法详解 1. RequestDispatcher.forward() 2. response.sendRedirect() 3. <jsp:forward page="" /> 4. 修改HTTP header的Location属性来...5. JSP中实现在某页面停留若干秒后,自动重定向到另一页面
7.Jsp的重定向和转发的流程有什么区别 重定向是客户端行为,转发是服务器端行为 重定向时服务器产生两次请求,转发产生一次请求,重定向时可以转发到项目以外的任何网址,转发只能在当前项目里转发 重定向会导致...
JSP页面的跳转方式汇总:1、使用超级链接跳转,2、使用表单提交的方式跳转页面,3、修改HTTP header的Location属性来重定向,4、JSP中实现在某页面停留若干秒后,自动重定向到另一页面,5、jsp标签跳转:<jsp:forward ...
本文实例总结了jsp和servlet中实现页面跳转的方式。分享给大家供大家参考,具体如下: 假设要求从test1.jsp 跳转到test2.jsp ...2. response.sendRedirect 重定向 <% response.sendRedire
注意事项:a标签和重定向差不多 通过a标签进行跳转时也是调用doGet()方法 //从地址栏上方进入网页也是调用的servlet的get方法 //在使用doGet()方法时还要做验证 看用户是否已经登录 -----转发---------------------...
JSP100选择题 适合考前练习 1 J2EE 中,()类的()方法用于创建对话。(选择一项) a) HttpServletRequest、getSession b) HttpServletResponse、newSession c) HtttpSession、newInstance d) HttpSession、...
4. 使用重定向时,可以使用`response.sendRedirect()`方法指定重定向的URL地址。 5. 使用转发时,需要使用`RequestDispatcher`对象获取转发器,并使用`forward()`方法执行转发操作。 6. 根据具体的业务需求,选择...