`
Wind_ZhongGang
  • 浏览: 264871 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

jsp forward与redirect实探

阅读更多

    在Servlet中,forward和redirect是两个容易让人混淆的概念,应该如何区分这两个概念以及在实际运用中使用好它们呢。特创建了一个实际JavaWeb项目来验证和理解这两个概念。

    具体代码请参见我上传的附件。下图是我使用的环境。

    Environment

    使用的服务器为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
0
0
分享到:
评论

相关推荐

    forward与redirect区别

    在开发Web应用时,我们经常会遇到“forward”和“redirect”的概念,它们是两种不同的页面跳转方式。理解和掌握它们的区别对于优化用户交互和处理请求流至关重要。 **forward(转发)**: - 转发是由服务器端完成的...

    forward与redirect!转发和重定向 解析

    ### Forward与Redirect解析 在Web开发中,Forward(转发)与Redirect(重定向)是两种常见的页面跳转方式。它们虽然都可以实现从一个页面跳转到另一个页面的功能,但在实现机制、应用场景以及对用户浏览器地址栏的...

    forward转发与redirect重定向的区别.zip

    在Web开发中,"转发"(Forward)和"重定向"(Redirect)是两种常见的请求处理方式,它们在实现客户端和服务器之间的交互时起到至关重要的作用。了解它们的区别对于优化用户体验和提高应用性能至关重要。 首先,让...

    JAVA面试题之Forward与Redirect的区别详解

    "JAVA面试题之Forward与Redirect的区别详解" 本文主要讲解了在JAVA面试中可能遇到的问题,即JAVA中Forward与Redirect两者之间的区别。文中详细介绍了两种请求转发方式的原理和区别,包括请求转发的含义、Forward...

    Struts2中实现页面的跳转

    `&lt;jsp:forward/&gt;`标签在JavaServer Pages (JSP)中用于将一个请求转发到另一个资源,比如从一个JSP页面跳转到另一个JSP页面或者一个Action。在Struts2框架下使用`&lt;jsp:forward/&gt;`进行页面跳转时,可能会遇到“404 Not...

    转发和重定向的区别 forward和redirect的区别

    - 示例代码:`request.getRequestDispatcher("/a/a.jsp").forward(request, response);` 2. 重定向(Redirect): - 使用`Response.sendRedirect()`方法实现。 - 重定向会导致浏览器发起一个新的HTTP请求,所以...

    JSP中绝对路径与相对路径

    `进行重定向时,同样因为`redirect.jsp`位于`/03-03/relative/`目录下,执行重定向时会将当前路径`/03-03/relative/`与`result/result.jsp`拼接,形成完整的重定向地址`/03-03/relative/result/result.jsp`,并发...

    jsp面试题及答案

    过滤器的作用是可以在多个Servlet/JSP之间共享数据转换或页面处理,可以写一个过滤器类,然后在部署描述文件(web.xml)中把该过滤器与对应的Servlet/JSP联系起来。 4.forward和redirect的区别 forward是把另一个...

    jsp一个个人博客的设计与实现

    jsp动作是指jsp页面中的动作,例如form动作、forward动作、redirect动作等。 总结 设计和实现个人博客网站需要考虑到多个方面,包括系统设计、系统性能需求、系统功能需求、jsp编程等几个方面。在本文中,我们对...

    jsp与Servlet跳转

    - 在Java Web应用中,页面跳转通常有两种方式:重定向(Redirect)和转发(Forward)。 - **重定向**:客户端(浏览器)会收到一个新的HTTP响应,并被指示去访问新的URL。这意味着客户端会发送一个新的请求到...

    JSP经典例子教程-100例

    JSP页面跳转有两种方式:使用`&lt;jsp:forward&gt;`标签和`&lt;c:redirect&gt;`标签。这两种方式都可以实现页面间的跳转,但具体实现机制有所不同。 - **使用&lt;jsp:forward&gt;标签**: ```jsp &lt;jsp:forward page="/newPage.jsp" ...

    JSP实例编程100例

    6、jsp:forward 7、简单计数器 8、设置页面属性 9、使用GB2312编码 10、使用Big5编码 11、c:catch的用法 12、&lt;c:forEach&gt; begin、end和step的用法 13 、 &lt;c:forEach&gt; 循环 14、&lt;c:forEach&gt; varStatus 的四种属性 15...

    jsp入门教程

    - **JSP与Servlet的关系**:比较JSP和Servlet的不同之处及它们如何协同工作。 - **使用Servlet改写联系簿**:通过具体的示例代码展示如何使用Servlet重构原有的JSP应用。 #### 第7章 使用Filter过滤请求 - **批量...

    JSP+Servlet面试题

    * 如果你有几个 Servlet/JSP 需要执行同样的数据转换或页面处理的话,你就可以写一个过滤器类,然后在部署描述文件(web.xml)中把该过滤器与对应的 Servlet/JSP 联系起来。 * 一个过滤器可以作用于一个或一组 ...

    jsp页面跳转

    `&lt;jsp:forward&gt;` 标签本质上是调用 `RequestDispatcher.forward()` 来完成页面跳转的。该标签会将当前请求转发到指定的JSP页面,保持请求数据的完整性。 **应用场景:** - 当需要简化代码实现,提高可读性时。 - ...

    网页教程《跟姐姐学JSP》

    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 ...

Global site tag (gtag.js) - Google Analytics