- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Servlet/JSP服务器端的重定向
RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect() 方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 HttpServletResponse.sendRequest()方法。
?
forward和redirect的区别答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取
?
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
?
a页面b页面(--代表两种方法的一种)
a页面里有一个动作:request.setAttribute(temp,object);
?
Response.forward()用这个方法到达b,可以在b里通过request.getAttribute(temp)得到存储的object对象,这个方法扩大了request里保存的值的作用范围;
Response.redirect()用这个方法到达b,object对象将丢失。
?
如果想到达b页面(无论是哪个方法)而有想得到object对象,则最好将object对象保存在request.getSession()里,也就是Session对象里
通常,在一个设计良好的Web应用中,都会综合使用Servlet和JSP技术。Servlet控制业务流转,JSP则负责业务处理结果的显示。此时,将大量用到重定向技术。 重定向技术可以分为两类,一类是客户端重定向,一类是服务器端重定向。客户端重定向可以通过设置特定的HTTP头,或者写JavaScript脚本实现。本文主要探讨服务器端重定向技术的实现。
服务器端的重定向相关类
服务器端的重定向技术涉及到javax.servlet.ServletContext、javax.servlet.RequestDispatcher、javax.servlet.http.ServletRequest、javax.servlet.http.ServletResponse等几个接口。图1是这几个接口之间的关系图。?
图 1重定向相关类关系图
服务器端的重定向方式
服务器端的重定向可以有两种方式,一是使用HttpServletResponse的sendRedirect()方法,一是使用RequestDispatcher的forward()方法。下面对这两种方式进行介绍。 HttpServletResponse.sendRedirect()方法 HttpServletResponse接口定义了可用于转向的sendRedirect()方法。代码如下:?
public void sendRedirect(java.lang.String location)throws java.io.IOException
这个方法将响应定向到参数location指定的、新的URL。location可以是一个绝对的URL,如response.sendRedirect()也可以使用相对的URL。如果location以“/”开头,则容器认为相对于当前Web应用的根,否则,容器将解析为相对于当前请求的URL。这种重定向的方法,将导致客户端浏览器的请求URL跳转。从浏览器中的地址栏中可以看到新的URL地址,作用类似于上面设置HTTP响应头信息的实现。 RequestDispatcher.forward()方法 RequestDispatcher是一个Web资源的包装器,可以用来把当前req
您可能关注的文档
- SD4218P寸广告机规格..doc
- SDH原理初级和高级..doc
- SDI接口和HDMI..doc
- SDJK气动活塞调节切断阀..doc
- SDA船体结构标准(全部)..doc
- SDS-三氯化磷..doc
- SDS-醇酸树脂-CN..doc
- SD详细命令描述..doc
- SDS-PAGE..doc
- Seatrax起重机配件..doc
- 岩韵与砂韵的分子密码:基于多组学与表观遗传学解析武夷岩茶与西湖龙井地质-元素-微生物-茶树代谢网络互作机制.docx
- 赤铁矿晶面效应主导的岩茶_岩韵_形成机制.docx
- CN120209125A 单克隆抗体与分泌单克隆抗体的杂交瘤细胞及应用.docx
- CN120209726A 一种用于电子封装的柔性高阻隔膜及其制备方法.docx
- CN120210109A 一种采用三维微载体制备软骨微组织制剂和软骨细胞制剂的方法及其应用.docx
- 初一语文媒体素养训练试卷及答案.doc
- 人工智能科技主题高端简约模板115.pptx
- 人工智能科技主题高端简约模板82.pptx
- 2025年员江苏省人民检察院民事检察业务竞赛试题及答案解析.doc
- 2025年河北省检察官逐级遴选笔试真题及答案解析.doc
最近下载
- 中南大学商学院熊勇清院长《管理学》教学课件(共186张PPT).ppt VIP
- 《生理学》教案 项目六 能量代谢和体温.docx VIP
- 中南大学商学院熊勇清院长《管理学》教学课件(共186张PPT)知识分享.ppt VIP
- 中级经济师《经济基础》全37章思维导图:第36章公司法律制度.pdf VIP
- 安全教育课题结题报告.pptx VIP
- 氯及其化合物PPT精选课件.ppt VIP
- 《改革开放史》教学大纲.docx VIP
- 钢筋加工绑扎劳务承包合同(含安全协议).doc VIP
- 《改革开放史》教学大纲.docx VIP
- YB∕T 4001.3-2020- 钢格栅板及配套件 第3部分:钢格板楼梯踏板.pdf VIP
文档评论(0)