- 浏览: 1396888 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 4755花N长时间积累的Jquery插件,希望大家喜欢。大家 ... -
jquery cycle plugin
2009-11-04 15:38 2588‹‹ home jQuery Cycle Pl ... -
VIM技巧
2009-04-24 16:06 1871(1).w跳到下面一个单词(word) (2).b跳到上面一 ... -
HTML 特殊字符表
2009-04-01 16:01 1700With the exception of HTML 2.0 ... -
Web开发中不可缺少的浏览器相关工具
2009-03-24 13:45 1926整理了一些Web前端开发的资源,包括有浏览器开发工具,Micr ... -
AJAX开发简略 (第一部分)7.1、AJAX应用到的技术
2008-11-14 12:18 1985在使用浏览器浏览网页的时候,当页面刷新很慢的时候,你的浏览器在 ... -
JSON的三个好处
2008-10-27 10:38 2540JSON的三个好处收藏 <script>f ... -
自定义可排序表格
2008-10-15 15:22 2029首先,定义一个js: tableSort.js: func ... -
DWR对象构造,深入分析dwr中的DWRUtil.getValues
2008-09-12 09:51 2181当你需要通过dwr完成类似提交form的操作,了解DWRU ... -
深入分析dwr中的DWRUtil.$
2008-09-12 09:47 1407from:http://blog.csdn.net/pwl ... -
查看JSON对象结构
2008-08-25 10:37 4729在使用DWR时我们经常需要返回一个复杂的java对象,对于这个 ... -
DWR中数组的使用
2008-07-24 09:28 3578近日研究DWR,对于数组的转换始终有些不太明白,昨天终于了解了 ... -
Java open source forum大搜捕
2008-04-21 00:13 6650JIVE:这是个很多人非常熟悉的forum,可惜它3.0版本之 ... -
白话 Ajax 及其入门基础
2008-03-26 10:17 1734一、白话Ajax的原理 这个可以从 C/S 和 B/S 的原理 ... -
DWR入门教程之提示性文字
2008-03-25 15:40 2431DWR可以让您做个简单的 ... -
DWR入门教程之HelloWorld
2008-03-25 14:26 21208说明:这本是林信良(良葛格)的专栏 的文章,但是受不了繁体字的 ... -
2007年最新web2.0开源程序代码集合
2008-03-20 12:29 1840来自:http://www.prothink.cn/blog/ ... -
Web开发技术史话
2008-03-20 12:18 17251. 荒芜年代 1990-1 ... -
css教程–十步学会用css建站(全)
2008-03-19 12:58 2832本教程主要参考Creating a CSS Layout fr ... -
Tablesorter
2008-03-04 00:42 6230Tablesorter是一个非常好用的基于jQuery的表格排 ...
相关推荐
本文将深入探讨JSP中的重定向技巧,包括服务器端重定向和客户端重定向,并分析它们的工作原理及适用场景。 首先,我们来看JSP页面重定向的三种主要方法: 1. 使用`response.sendRedirect()`方法,这是客户端重定向...
在Web开发中,"forward"和"sendRedirect...总结来说,`jsp:forward`和`response.sendRedirect`各有优势,选择哪种方式取决于具体的需求和场景。理解它们的工作原理和差异,可以帮助我们更合理地设计Web应用程序的流程。
jsp 重定向是通过 `response.sendRedirect("apage.jsp")` 方法来实现的。重定向的主要特点是,request 中存放的变量全部失效,并进入一个新的 request 作用域。这意味着,前一个页面中的变量在下一个页面中将不可用...
在Java Web开发中,"forward-sendRedirect"是一个关键的概念,主要涉及到Servlet和JSP之间的页面跳转技术。这里我们将深入探讨这两个方法的工作原理及其在实际应用中的差异。 首先,我们来了解一下`forward()`方法...
sendRedirect()和forward()方法都是Servlet编程中常用的方法,它们可以将客户端的请求重定向或转发到其他的资源,如Servlet、JSP页面或HTML文件中。但是,这两个方法之间存在着本质上的区别。 首先,让我们来看一下...
在Java的Servlet编程中,`转发`和`重定向`是两种不同的机制,用于在服务器端将客户端的请求导向不同的资源。它们的主要区别在于请求处理流程、URL改变以及数据共享方式。 1. 转发(Forward): - 使用`...
在Java Server Pages (JSP) 技术中,`jsp:forward`标签是用于页面重定向或请求转发的一个重要元素。本实例将深入探讨`jsp:forward`方法的使用及其背后的原理,帮助你更好地理解和应用这一功能。 `jsp:forward`标签...
在JSP(Java Server Pages)中实现页面间的...总结来说,forward和sendRedirect是JSP中实现页面跳转的两种基本方法,它们在性能、使用场景和实现效果上各有优劣。开发者需要根据具体的应用场景和需求来选择合适的方法。
标题提到的"jsp重定向地址栏不改变的实例"就是针对这种场景的一个解决方案。下面我们将详细探讨JSP中的重定向以及如何实现地址栏不改变的重定向。 首先,了解JSP中两种常见的请求转发方式:请求转发(Request ...
这两种技术分别是`RequestDispatcher.forward()`和`response.sendRedirect()`,它们各有特点和应用场景。 首先,`RequestDispatcher.forward()`方法是在服务器端内部完成的转发操作。这意味着当一个请求到达Servlet...
在Web开发中,Forward(转发)与Redirect(重定向)是两种常见的页面跳转方式。它们虽然都可以实现从一个页面跳转到另一个页面的功能,但在实现机制、应用场景以及对用户浏览器地址栏的影响等方面存在显著差异。 ##...
当我们需要在不同的页面之间导航时,`forward`和`redirect`是两种常见的处理请求转发和重定向的方法。本文将深入探讨这两种机制及其区别。 首先,`forward`是通过服务器端内部跳转实现的。它使用`RequestDispatcher...
### jsp跳转getRequestDispatcher()和sendRedirect()的区别 在Java Web开发中,经常会遇到页面间的跳转操作,其中两种常见的方法是`getRequestDispatcher()`和`sendRedirect()`。这两种方式虽然都能实现页面跳转,...
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 ...
重要的是,当使用sendRedirect时,浏览器地址栏中的URL会发生变化,这与<jsp:forward>标签直接在服务器端进行转发不同,后者不会改变浏览器地址栏中的地址。 遇到sendRedirect不跳转时,可能存在以下几个原因: 1....
在 Servlet 中,我们可以使用 request.getRequestDispatcher("new.jsp").forward(request, response) 语句来实现转发,而重定向可以使用 response.sendRedirect("new.jsp") 语句来实现。在 JSP 页面中,我们也可以...
JSP 中有五种跳转方式,包括 RequestDispatcher.forward()、response.sendRedirect()、jsp:forward、RequestDispatcher.include() 和 HttpServletResponse.sendRedirect()。下面我们将详细介绍这五种跳转方式的区别...
这里主要介绍五种常见的JSP页面跳转方法,包括RequestDispatcher.forward()、response.sendRedirect()、<jsp:forward page="" / >、Meta标签以及JavaScript的location对象。 1. RequestDispatcher.forward() 这种...
总之,了解`forward`与`sendRedirect`的区别以及`<%@ include %>`与`<jsp:include>`的用法对于掌握JSP和Servlet的基本原理非常重要。同时,深入理解JSP与Servlet的工作机制有助于开发者更好地设计和实现复杂的应用...
1. JSP的`response.sendRedirect()`:在JSP中,可以使用`HttpServletResponse`的`sendRedirect()`方法实现服务器端的跳转。例如: ```jsp response.sendRedirect("target.html"); %> ``` 这会向客户端发送一个302...