首页 > 编程语言 > 详细

JavaWeb学习——页面跳转方式

时间:2019-12-19 17:41:56      阅读:93      评论:0      收藏:0      [点我收藏+]

JavaWeb学习——页面跳转方式

摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别。

请求转发

相关方法

使用HttpServletRequest对象的 getRequestDispatcher(String path) 方法获取RequestDispatcher类型的转发器。

使用RequestDispatcher转发器的 forward(ServletRequest request, ServletResponse response) 方法进行转发。

实例

1 @Override
2 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
3     req.getRequestDispatcher("/test.html").forward(req, resp);
4 }

响应重定向

相关方法

使用HttpServletResponse对象的 sendRedirect(String location) 方法进行重定向到其他资源。

实例

1 @Override
2 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
3     resp.sendRedirect("/HelloWorld/test.html");
4 }

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

发送次数

转发只发送一次请求。

重定向发送两次请求。

地址栏变化

转发地址栏没有变化,执行刷新相当于重新发送信息到原页面。

重定向地址栏有变化,执行刷新将发给新页面。

访问限制

转发可以访问WEB-INF下的资源。

重定向不可以访问WEB-INF下的资源。

发生位置

转发发生在服务器内部。

重定向发生在浏览器端。

跳转地址

转发不能跳转到本应用外的URL。

重定向可以跳转到任意URL。

访问属性

通过 request.setAttribute(); 设置的属性,如果让下一个页面访问,只能通过转发。

通过 session.setAttribute(); 设置的属性,如果让下一个页面访问,转发和重定向都可以,建议使用转发。

JavaWeb学习——页面跳转方式

原文:https://www.cnblogs.com/shamao/p/12069037.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!