转发(request)和重定向(response)的区别
2017-01-28 16:11
417 查看
1.从地址栏显示来说
request.getRequestDispatcher().forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应(response)内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址。
response.sendRedirect()是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
request.getRequestDispatcher().forward:转发页面和转发到的页面可以共享request里面的数据.
response.sendRedirect():不能共享数据.
3.从运用地方来说
request.getRequestDispatcher().forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
response.sendRedirect():一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
request.getRequestDispatcher().forward:高.
response.sendRedirect():低.
request.getRequestDispatcher().forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应(response)内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址。
response.sendRedirect()是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
request.getRequestDispatcher().forward:转发页面和转发到的页面可以共享request里面的数据.
response.sendRedirect():不能共享数据.
3.从运用地方来说
request.getRequestDispatcher().forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
response.sendRedirect():一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
request.getRequestDispatcher().forward:高.
response.sendRedirect():低.
相关文章推荐
- request的转发与response的重定向的区别
- Jsp重定向(response.sendRedirect())和转发(request.getRequestDispatcher().forward(request,r)的区别
- java 转发request和重定向response的区别
- 内部跳转(请求转发)request.getRequsetDispatcher()和外部跳转(重定向)response.sendRedirect()的区别
- 浅谈java Web中的request和response,以及转发和重定向的区别。
- 转发(request.setRequestDispacter)和重定向(response.sendRedirect)的区别以及转发的include和forward的区别
- request的转发与response的重定向的区别
- request和response的转发、重定向、请求包含小细节
- 请求转发(request)和重定向(response)
- response重定向和request转发的去呗
- Servlet中的request对象、重定向和转发的区别(6)
- response重定向和request转发 通俗易懂
- 通俗易懂的response重定向和request转发
- Servlet页面跳转技术--重定向httpServletResponse.sendRedirect和转发RequestDispatche
- 【JavaWeb-6】HttpServletResponse的字符字节输出流、编码、文件下载、Captcha图片与HttpServletRequest获取request数据表单非表单数据、重定向与转发
- 转发 重定向HttpServletRequest & HttpServletResponse
- request重定向或者是response转发请求后面的代码依然执行
- <Web> request 转发 && response 重定向
- 心得10--request介绍和案例分析、请求重定向和请求转发的区别
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)