在JSP页面之间向前和sendRedirect的区别

页面之间的跳转可以实现在两个方面:提出和sendRedirect。

转发:可以在JSP页面中使用,也可以在servlet中实现。
使用JSP页面,例如,跳到userlist.jsp,你可以写:
复制代码代码如下所示:


用RequestDispatcher在servlet的前进的方法,跳到userlist.jsp,你可以写:
复制代码代码如下所示:
RequestDispatcher RD = request.getrequestdispatcher(用户列表。JSP );
rd.forward(请求、响应);

该方法是通过使用sendRedirect方法sendRedirect方法和响应对象,代码如下:
复制代码代码如下所示:
response.sendredirect(userist .jsp);

两者之间的区别如下:
1、请求的数量是不同的,这是最本质的区别。在正向模式对象调用相应的对象文件的当前JSP或Servlet对象的执行过程中,相当于一个方法调用,将请求和响应对象作为参数对应于当前文件和目标文件执行的目标文件是一个请求发送的用户完成了。在重定向的方式,它首先要求当前文件。当前文件将目标文件的地址返回给客户机。客户端再次发送请求,请求目标文件,实际发送两个请求。

2,传输的方式不同,向前,当前文件和目标文件属于同一个请求,共享请求对象,因此您可以使用请求对象传递值。每个请求都会创建请求和响应对象分开,所以要求对象不能被发送。MVC模式中,我们通常所说的模型的控制器来获取数据,然后保存到请求,然后转发到目标文件,目标文件被需要和要求的信息。如果你使用sendRedirect通过信息视图和控制器之间,你需要添加目标文件后已传递名称=值。

3,客户机在地址栏中看到的地址是不同的。对于前向,第一个文件的名称在地址栏中可见。对于sendRedirect,第二文件地址在地址栏中找到。有时会在目标文件的相对路径,例如,当前文件是a.jsp在AA文件夹,目标文件是b.jsp在BB夹,在b.jsp,我们需要访问一个图片,并使用相对路径直接写face.jpg,这个文件是放在一起b.jsp.if前进时,地址栏是a.jsp,这样系统会在AA文件夹中找到face.jpg,它会在这个时候犯了一个错误。