更新时间:2022-04-14 09:51:53 来源:极悦 浏览10156次
Java跳转页面有几种方法?极悦小编来告诉大家。
当然,在 servlet 中,跳转一般发生在 doGet、doPost 等方法中。
1.重定向
响应。SendRedirect("/a.sp");
页面的路径是相对路径。SendRedirect 可以将一个页面重定向到任何页面,并且不一定限于 Web 应用程序,例如:
响应。SendRedirect("//www.jb51.net");
跳转后浏览器地址栏发生变化。
如果要通过这种方式传出值,只能在url或者session中带参数传递,不能通过request-setattribute传递。
2.前进的道路
RequestDispatcher 调度程序 = 请求。GetRequestDispatcher("/a.sp");
调度员。转发(请求、响应);
页面的路径是相对路径。前进模式只能跳转到本 Web 应用程序中的页面。
跳转后浏览器地址栏没有变化。
这样传值的方式有3种:url中的parameter、session、request-setattribute
1.响应。发送重定向();
servlet 执行 response.sendredirect() 的方式相同。
Out.flush() 不允许在此语句之前。如果是这样,就会有一个例外:
Java. Lang.IllegalStateException: Can 't sendRedirect () after data has commited to the client。
在 Caucho. Server服务器。联系。抽象HttpResponse。发送重定向(AbstractHttpResponse。Java:558)
跳转后浏览器地址栏变化
如果要跳转到不同的主机,跳转后,这条语句后面的语句会继续执行,就好像开启了一个新的Java线程,但是response的操作是没有意义的;
如果要跳转到同一个主机,该语句后面的语句直到执行完成才会跳转;
2.响应。SetHeader("位置", "");
此语句之前不允许out.flush(),如果是,则页面不跳转。
跳转后浏览器地址栏变化
该语句后面的语句在完成之前不会跳转
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习