在Servlet中,forward和redirect是两个容易让人混淆的概念,应该如何区分这两个概念以及在实际运用中使用好它们呢。特创建了一个实际JavaWeb项目来验证和理解这两个概念。
具体代码请参见我上传的附件。下图是我使用的环境。
使用的服务器为apache-tomcat-6.0.18
经验证,得出如下结论:
1。forward仅限用于站内转向,而redirect即可用于站内转向,也可用于本站点以外的其他站点的转向,如写上http://www.iteye.com,那么可转向到此网站,http协议名需要加上,否则只写了www.iteye.com,假定我们的站点为http://localhost:8080/study,那么转向地址会成为http://localhost:8080/study/www.iteye.com,此时就会出现问题,相信看看url地址就一目了然了。
2。forward转向是在服务器内完成的,不需要再经过客户端请求。而redirect则需要往返一次客户端才能完成转向。这也就说明了为什么我们不能在redirect代码中直接书写转向的位于WEB-INF下的jsp页面位置的代码,而在forward形式下却可以。因为WEB-INF,META-INF都是受保护文件夹,无法从外部直接访问,除非我们以如下的形式书写,将这个jsp页面暴露出来。
<servlet>
<servlet-name>redirectPage</servlet-name>
<jsp-file>/WEB-INF/redirect.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>redirectPage</servlet-name>
<url-pattern>/gotoredirect</url-pattern>
</servlet-mapping>
3。forwad可以用来转向至一个jsp页面或者一个servlet,而redirect则不能用于转向一个位于WEB-INF下的jsp页面,可用于请求一个servlet。
见解拙劣,敬请谅解。
- 大小: 10 KB
分享到:
相关推荐
3.4. forward和redirect的问题 3.4.1. 绝对路径与相对路径 3.4.1.1. 相对路径 3.4.1.2. 绝对路径 3.4.2. forward导致找不到图片 4. 四个作用域 4.1. 何为作用域 4.2. 例子:在线列表 5. 结合javabean实现CRUD ...
6、jsp:forward 7、简单计数器 8、设置页面属性 9、使用GB2312编码 10、使用Big5编码 11、c:catch的用法 12、<c:forEach> begin、end和step的用法 13 、 <c:forEach> 循环 14、<c:forEach> varStatus 的四种属性 15...
详解Struts2的国际化!ActionForward的使用 ActionForward的默认行为是转发,如果想重定向,需要在标签中配置 redirect="true" 比如: <forward name="login" path="/login.jsp" redirect="true"/>
2.jsp有哪些动作 3.forward 和redirect的区别 4.JSP中动态INCLUDE与静态INCLUDE的区别 5.两种跳转方式分别是什么 6.J
10、Servlet中的forward和redirect有什么区别: Forward是服务器内部的重定向,服务器直接访问目标地址的url,地址不变。 Redirect:客户端的重定向,完全跳转,地址改变。 11、JSP的内置对象: 1)require(请求对象...
1、jsp有哪些内置对象?作用分别是什么? 2、jsp有哪些动作?作用分别是什么?...7、JAVA SERVLET API中forward() 与redirect()的区别? 8、Servlet的基本架构 。。。。。。。。。。。。。。。。。。。。。。
6、jsp:forward 7、简单计数器 8、设置页面属性 9、使用GB2312编码 10、使用Big5编码 11、c:catch的用法 12、<c:forEach> begin、end和step的用法 13 、 <c:forEach> 循环 14、<c:forEach> varStatus 的四种属性 15...
JavaWeb重点叙述里包括 jsp部分 servlet的生命周期 简述forward和redirect的区别 理解jsp的运行原理 jsp include指令和include动作的区别 创建servlet的步骤 了解Tomcat jsp的九个内置对象和四大作用域等
467页,看了java笔试面试基本没啥问题。...10. 描述forward 和redirect的区别 25 11.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收 26 12 EJB的优点有哪些? 26
中软公司JAVA培训资料.一、Java语言 1、面向对象的三个基本特征 2、方法重载和方法重写的概念和区别 3、接口和内部类、抽象类的特性 ... ** 2、forward 和redirect的区别 3、JSP的常用指令 三、servlet doc
9. jsp有哪些动作 1. forward客户端请求服务器一次,redirect请求服务器两次,所以forward方式可以获得request作用域的信息,而r
174、JAVA SERVLET API中forward() 与redirect()的区别? 42 178、如何现实servlet的单线程模式 42 179、页面间对象传递的方法 42 180、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 42 181、四种会话...
174、JAVA SERVLET API中forward() 与redirect()的区别? 42 178、如何现实servlet的单线程模式 42 179、页面间对象传递的方法 42 180、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 42 181、四种会话...
mvc.xml配置 <forward name="exist... <forward name="addUser" path="/login.jsp" redirect="true"/> <forward name="ByUser" path="/BooksAction.action?methodName:getIndex" redirect="true"/> </config>
10. 描述forward 和redirect的区别 25 11.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收 26 12 EJB的优点有哪些? 26 13在Servlet处理请求的方式为 27 14如何...
Java面试题19.Servlet中forward和redirect的区别 Java面试题20.jsp和Servlet的相同点和不同点 Java面试题21.内置对象和四大作用域和页面传值 Java面试题22.Session和Cookie的区别和使用场景 Java面试题23.mvc模式和...
request.getRequestDispatcher("/jsp/login.jsp").forward(request,response); }else{ WeixinUtil util = new WeixinUtil(); UserAccessToken token = (UserAccessToken) request.getSession()....