其他分享
首页 > 其他分享> > Servlet跳转页面

Servlet跳转页面

作者:互联网

Servlet跳转页面

查看详情点击这里

servlet跳转页面的方法:
跳转分为两部分,一部分发生在servlet,另一部分发生在JSP,JSP就是servlet,但是两者还是有部分差异。

一、Servlet:(跳转发生在doGet,doPost等方法里)

(1)response.sendRedirect("/index.jsp");页面的路径是相对路径。

sendRedirect可以将页面跳转到任何页面,不一定局限于web应用中,如:response.sendRedirect(“http://www.baidu.com”);

跳转后浏览器地址发生变化,只能在url总带parameter或者放在session中,无法使用request.setAttribute来传递值。

(2)forward方式
request.getRequestDispatcher("/index.jsp").forward(request,response);页面的路径是对路径。

forward方式只能跳转到本web应用中的页面上。跳转后地址栏不会发生变化。使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute

二、JSP:

(1)response.sendRedirect();
和servlet的response.sendRedirect()方式一样,
跳转后浏览器地址栏会变化,如果要跳转到不同主机下,跳转后,此语句后面的语句,如同新开了线程,但是对response的 操作已经没有意义了;如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;

(2)response.setHeader(“Location”,"");
跳转后浏览器地址栏发生变化,此语句后面的语句执行完成后才能发生调转

(3)<jsp:forward page=""/>
跳转后浏览器地址栏不变,但是只能跳转到当前主机下,此语句后面的执行语句执行完成后才会跳转。

三、请求转发 RequestDispatcher.forward方法和响应(重定向)转发 HttpServletResponse.sendRedirect方法的总结比较:

重定向和请求转发有一个重要的不同:

标签:浏览器,重定向,URL,sendRedirect,跳转,Servlet,页面
来源: https://blog.csdn.net/weixin_40912987/article/details/116167119