更新时间:2021-06-23 16:42:13 来源:极悦 浏览689次
servlet跳转页面的方法:
跳转分为两部分,一部分发生在servlet,另一部分发生在JSP,JSP就是servlet,但是两者还是有部分差异。
(1)redirect方式
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
(1)response.sendRedirect();
和servlet的response.sendRedirect()方式一样,
跳转后浏览器地址栏会变化,如果要跳转到不同主机下,跳转后,此语句后面的语句,如同新开了线程,但是对response的操作已经没有意义了;如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;
(2)response.setHeader(“Location”,"");
跳转后浏览器地址栏发生变化,此语句后面的语句执行完成后才能发生调转
(3)jsp:forward page=""/
跳转后浏览器地址栏不变,但是只能跳转到当前主机下,此语句后面的执行语句执行完成后才会跳转。
重定向和请求转发有一个重要的不同:
当使用请求转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL,而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。
以上就是极悦小编介绍的"Servlet跳转页面的方法解说",希望对大家有帮助,想了解更多可查看Servlet教程技术文档,如有疑问,请在线咨询,有专业老师随时为您服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习