Java Servlet重定向跟转发的不同点
2017-08-09 16:19
155 查看
1.请求转发:HttpServletRequset.getRequsetDispatcher(String path).forward(requset,response);
(1)服务器内部转发,浏览器Url地址不会改变,对用户透明,整体体现一次请求一次响应。
(2)请求转发前,会清空缓冲区。
(3)如果转发的是Servlet或jsp,就会直接把当前的HttpServletRequset对象与HttpServletResponse对象转交给目标Servlet或JSP的Service方法,处理后将响应结果反馈给客户端
(4)如果转发的是html静态页面,则就读取文档中的内容发送到前端。
(5)请求转发不会执行转发方法之后的代码。
2.重定向:HttpServletResponse.sendRedirect(String path)
(1)客户端外部转发,浏览器的Url地址会改变,在Servlet重定向后,会返回302的临时状态码,响应内容为待重定向路径,然后浏览器就会再次发出请求,请求路径为刚才响应内容中的地址,整体俩个请求,俩个响应
(2)重定向前,也会清空缓冲区
(3)重定向后,会执行重定向后的代码
区别总结
(1)请求转发是服务器完成,重定向是客户端完成。
(2)请求转发速度快,重定向速度慢。
(3)请求转发整体一次请求一次响应,重定向整体俩次请求俩次响应。
(4)请求转发Url不会改变,重定向的Url地址会改变
(5)请求转发必须在同一台服务器下完成,重定向可以在不同的服务器下完成。
(6)请求转发之后的代码不执行,重定向之后的代码会执行。
(1)服务器内部转发,浏览器Url地址不会改变,对用户透明,整体体现一次请求一次响应。
(2)请求转发前,会清空缓冲区。
(3)如果转发的是Servlet或jsp,就会直接把当前的HttpServletRequset对象与HttpServletResponse对象转交给目标Servlet或JSP的Service方法,处理后将响应结果反馈给客户端
(4)如果转发的是html静态页面,则就读取文档中的内容发送到前端。
(5)请求转发不会执行转发方法之后的代码。
2.重定向:HttpServletResponse.sendRedirect(String path)
(1)客户端外部转发,浏览器的Url地址会改变,在Servlet重定向后,会返回302的临时状态码,响应内容为待重定向路径,然后浏览器就会再次发出请求,请求路径为刚才响应内容中的地址,整体俩个请求,俩个响应
(2)重定向前,也会清空缓冲区
(3)重定向后,会执行重定向后的代码
区别总结
(1)请求转发是服务器完成,重定向是客户端完成。
(2)请求转发速度快,重定向速度慢。
(3)请求转发整体一次请求一次响应,重定向整体俩次请求俩次响应。
(4)请求转发Url不会改变,重定向的Url地址会改变
(5)请求转发必须在同一台服务器下完成,重定向可以在不同的服务器下完成。
(6)请求转发之后的代码不执行,重定向之后的代码会执行。
相关文章推荐
- 【Java学习笔记】—— Servlet的转发与重定向
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
- 【Java学习笔记】—— Servlet的转发与重定向
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
- Servlet中转发与重定向资源位置的不同写法
- Java_Servlet笔记:转发与重定向
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)
- javaweb servlet转发,包含,重定向; jsp转发,包含
- 【JavaWeb-6】HttpServletResponse的字符字节输出流、编码、文件下载、Captcha图片与HttpServletRequest获取request数据表单非表单数据、重定向与转发
- JavaWeb_Servlet_重定向和转发
- 【Servlet】深入浅出JavaServlet重定向和请求转发
- javaweb-servlet重定向与转发的区别及案例
- 南哥带你学 Java 之 JavaEE 设置全局配置、请求转发、请求重定向、HttpServletResponse 和 HttpServletRequest
- Java --- Servlet乱码处理方式/转发重定向
- HttpServletResponse的转发和重定向
- 深入浅出Java 重定向和请求转发的区别
- 关于servlet中重定向、转发的地址问题
- servlet中转发请求与重定向小结
- 关于javaWeb里转发与重定向斜杠的问题
- servlet中的转发和重定向问题