栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

浅谈Servlet——重定向与转发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈Servlet——重定向与转发

重定向(sendRedirect)方法:

servlet重定向指的是一种由http协议规定的机制,重定向属于客户端行为。服务器在收到客户端请求后,会通知客户端浏览器重新向另外一个 URL 发送请求,这称为请求重定向。它本质上是两次 HTTP 请求,对应两个 request 对象和两个 response 对象。重定向方法void sendRedirect(String location)是HttpServletResponse类中的方法。用户在请求一个servlet时,该servlet在处理完数据后可以使用重定向方法将用户重新定向到另一个JSP页面或servlet。

转发(forward)方法:

请求转发属于服务器行为。容器接收请求后,Servlet 会先对请求做一些预处理,然后将请求传递给其他 Web 资源,来完成包括生成响应在内的后续工作。转发的功能是将用户对当前JSP页面或servlet的请求转发给另一个JSP页面或servlet,并且可以将用户对当前JSP页面或servlet的请求传递给转发到JSP页面或servlet。

重定向与转发的比较:

1、原理不同

重定向:服务器端控制的,在客户端端进行的跳转,两个请求

转发:服务器端控制的,在服务器端进行的跳转,一个请求

2、语法不同

重定向:response.sendRedirect("/myservlet2/login2/success.jsp");

转发:request.getRequestDispatcher("/login2/login.jsp").forward(request, response);

3、跳转的范围不同

重定向:整个互联网

转发:当前项目

4、跳转后获取保存

转发:可以得到在request中的内容

重定向:得不到在request中的内容,因为相当于一个新的请求

5、效率不同:

转发的效率高于重定向

转发和重定向的选择:

使用重定向的情况:

跳转到不同的应用(只能使用重定向)

使用Cookie存储数据

使用转发的情况:

希望前后两个组件共享request数据

跳转到同一个应用的WEB-INF目录下(只能选择转发)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825332.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号