【问题标题】:java servlet: difference between send redirect and forward in servlets [duplicate]java servlet:servlet中发送重定向和转发之间的区别[重复]
【发布时间】:2011-02-05 05:19:50
【问题描述】:

我正在使用 servlet 有两种方法重定向和转发都将请求发送到同一页面,但它们之间有什么区别。任何想法

【问题讨论】:

    标签: java servlets


    【解决方案1】:
    • redirect - 它使用浏览器重定向。它发送一个代码为 3xx (see wikipedia) 的 http 响应,然后浏览器向新页面发出另一个请求

    • forward - forward 是 servlet 容器内部的。浏览器永远不会理解页面已更改。因此 URL 不会改变(如重定向),并且您在新页面中也有相同的请求。

    【讨论】:

      【解决方案2】:

      为了补充上面写的点,重定向意味着在客户端,转发意味着在服务器端。 所以这意味着人们可以将其页面从当前应用程序重定向到其他应用程序,因为它在浏览器端进行了处理,但在转发时,它会转发到同一应用程序的某个 jsp 或 servlet。

      【讨论】:

        【解决方案3】:

        如果 Request Dispatcher 请求不返回到浏览器,它直接从当前 servlet(page) 转发到 page(servlet)。所以浏览器 url 不会改变。而在发送重定向的情况下,第一个请求是从当前页面(servlet)返回到浏览器,然后转发到指定的(页面)。所以 url 变了。

        【讨论】:

          猜你喜欢
          • 2012-01-28
          • 2011-08-29
          • 1970-01-01
          • 1970-01-01
          • 2010-10-29
          • 1970-01-01
          • 1970-01-01
          • 2014-06-25
          • 2011-04-23
          相关资源
          最近更新 更多