`
IT_Justin
  • 浏览: 19331 次
  • 性别: Icon_minigender_1
  • 来自: 桂林
社区版块
存档分类
最新评论

重定向与跳转的区别

 
阅读更多

响应重定向

在对请求进行分析后,Servlet可能决定不直接向浏览器发送响应,而是将响应重定向到其他资源。

 

请求跳转

当需要将请求转发到指定的页面时,需要进行跳转,由动态资源或静态资源进行处理。

 

响应重定向与请求转发的比较

@RequestDispatcher对象是一个Web资源的包装器,可以用来把当前请求转发到该资源。这种转发是服务器控制权的转向,客户端发来的请求将交由新的页面进行处理。使用请求转发,在客户浏览器的地址栏中不会显示转发后的资源地址。使用请求转发,可以将前一个页面的数据、状态等消息传到转发的页面。

@使用响应对象的sendRedirect()方法实际是服务器向浏览器发送一个特殊的响应头,他命令浏览器连接到新的位置。因此,使用这种方法在浏览器的地址栏中可以看到地址的变化。重定向是作为不同请求来看待的,因此,所有请求作用域的参数在重定向到下一个页面时都会失效。另外,使用sendRedirect()方法重定向时,资源不能位于WEB-INF目录中。在调用sendRedirect()方法之前,主页面不能有内容输出。在调用sendRedirect()方法之后应该有一个return语句。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics