重定向和请求转发的区别

整个请求转发过程中共一次请求
     整个请求转发过程中地址栏没有改变(不能访问外网)
     整个请求转发过程中请求参数依然有效
     请求转发之后的代码能否执行???---》可以执行,但是有风险,一般用return解决风险
 
     整个重定向过程中共两次请求
     整个重定向过程中地址栏改变了(能访问外网)
     整个重定向过程中请求参数全部消失,(如果需要参数的话,只能手动设置)
     重定向之后的代码能否执行???---》可以执行,但是有风险,一般用return解决风险
 
 总结:在同一个web项目中,能使用请求转发和重定向访问项目的所有资源,但是推介使用请求转发【转发效率高】

时间: 2024-12-19 05:15:26

重定向和请求转发的区别的相关文章

举例说明重定向和请求转发的区别

重定向 HttpServletResponse对象的sendRedirect(java.lang.String location)方法称作重定向. 如果location地址前面加上“/”,则表示相对于Servlet容器的根来请求,比如http://localhost:8080:如果location地址前面没有加上“/”,则表示相对于当前请求的URI来寻找地址. 请求转发 RequestDispatcher的:forward(ServletRequest request, ServletRespo

请求转发:MVC设计模式、细节、请求域属性的编程实例、请求重定向和请求转发的区别

MVC设计模式将一次请求的响应过程分成三个功能模块(一般称之为层)来协同完成,这三个模块分别是Model(模型层).View(视图层).Controller(控制层). Model是可作为JavaBean使用的业务对象:View是负责创建显示界面的JSP页面:Controller通常是一个接收用户请求的Servlet程序,它根据请求创建相应的model对象和调用model对象的业务方法,最后再选择一个View去创建网页文档内容并回送给客户端. Controller调用RequestDispatc

HTTP中的重定向和请求转发的区别

一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jsp response.sendRedirect("new.jsp");   //重定向到new.jsp 在jsp页面中你也会看到通过下面的方式实现转发: <jsp:forward page="apage.jsp"

请求重定向和请求转发的区别

1)转发只能将请求给同一个WEB应用中的组件:重定向可以重定向到一个站点上的其它应用程序的资源,还可以使用绝对URL重定向到其它站点的资源. 2)重定向需要的路径是针对浏览器的,也就是说相对URL以"/"开头,它是相对于整个WEB站点的根目录:转发需要的路径是相对于服务器的,也就是说相对URL以"/"开头,它是相对于当前WEB应用程序的根目录. 3)重定向浏览器地址栏发生变化:转发浏览器地址栏不发生变化.这是因为重定向对浏览器的请求直接作出响应,然后让浏览器去访问它

重定向与请求转发的区别

req.getRequestDiapatcher("hello.jsp").forward(req,resp);//重定向 resp.sendRedirect("login.jsp");//请求转发 重定向,服务器内部跳转.一次请求,跳转一次.Url不变. 请求转发,一次请求,2次跳转.请求的Url变成跳转成功的Url.

请求重定向与请求转发的区别

请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变.请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变.

JSP内置对象---请求重定向与请求转发的区别

视频地址:http://www.imooc.com/video/3306 方便理解:

【Servlet】深入浅出Java重定向和请求转发

import java.text.*; import java.util.*; import java.io.*; import javax.servlet.http.*; import javax.servlet.*; import com.bjpowernode.exam.model.*; import com.bjpowernode.exam.manager.*; public class SearchStudentServlet extends HttpServlet { public

javaweb中重定向和请求转发(response.sendRedirect()和request.getRequestDispatcher(rul).forward(request,response)))的区别

先来两张图,方便理解: 可以看出,重定向时,是服务器向游览器重新发送了一个response命令,让游览器再次向url2发送请求,以获取url2的资源 而请求转发时,类似于是服务器自己向自己发了一个跳转,然后将结果直接给游览器,这也是问什么游览器会不改变url地址.下面是具体总结他们的区别 一.response.sendRedirect(url)-服务器将新url发送给游览器,游览器再根据新url请求 Request.getRequestDispatcher(url).forward(reques