首页 Servlet跳转

Servlet跳转

举报
开通vip

Servlet跳转二,得到RequestDispatcher对象 在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP/html页面,甚至是HTML页面,来处理对请求的响应。 一,RequestDispatcher接口方法简介 1,RequestDispatcher对象由Servlet容器来创建,封装一个由"路径所标识"的务服器资源。 2,RequestDispatcher接口中定义了二种方法用于请求转发: forward(ServletRequest,ServletRes...

Servlet跳转
二,得到RequestDispatcher对象 在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP/html页面,甚至是HTML页面,来处理对请求的响应。 一,RequestDispatcher接口方法简介 1,RequestDispatcher对象由Servlet容器来创建,封装一个由"路径所标识"的务服器资源。 2,RequestDispatcher接口中定义了二种方法用于请求转发: forward(ServletRequest,ServletResponse)方法: 将请求转发给服务器上另外一个Servlet,JSP页面,或者HTML文件,这个方法必须在响应被提交给客户端之前调用,否则抛出异常。 方法调用后在响应中的没有提交的内容被自动消除。 include(ServletRequest,ServletResponse)方法 : 用于在响应中包含其他资源(Servlet,JSP页面或HTML文件)的内容。 即请求转发后,原先的Servlet还可以继续输出响应信息,转发到的Servlet对请求做出的响应将并入原先Servlet的响应对象中。 3,forward方法和include方法的区别: forward方法调用后在响应中的没有提交的内容被自动消除。 include方法使原先的Servlet和转发到的Servlet都可以输出响应信息。 二,得到RequestDispatcher对象 三种方法可以得到RequestDispatcher对象: 1,利用ServletRequest接口中的getRequestDispatcher(String path)方法。 2,ServletContext接口中getNamedDispatcher(String path)和getRequestDispatcher(String path)方法。 ServletRequest接口和ServletContext接口中getRequestDispatcher方法区别: 1,参数的区别 参数虽然都是资源路径名,ServletContext接口的中参数路径必须以“/”开始,是相对于当前Servlet上下文根, Htttp://localhost:8080/webappname/ ServletRequest接口中的参数路径不仅可以相对于当前Servlet上下文根,还可以相对与当前Servlet路径 2,跨WEB应用程序访问资源 通过ServletContext.getContext()方法获取另个WEB应用程序的上下文环境对象来 调用getRequestDispatcher(String path)方法将请求转发到另个WEB应用程序的资源。 还需要在当前WEB应用程序配置中设置元素,指定crossContext属性值为true。 三,ServletResqonse接口中的sendReadirect()方法和forward()方法的区别 二个方法都是用于请求转发的方法,转发给另外的资源为客户端服务。但二者有本质的区别 sendReadirect()方法原理: 1,客户端发送请求,Servlet1做出处理。 2,Servlet1调用sendReadirect()方法,将客户端的请求 重新定位 到Servlet2。 3,客户端浏览器访问Servlet2. 4,Servlet2对客户端浏览器做出响应。 5, 会执行转向以后的代码,网速不好,会一闪而过。 地址栏不可以传参, 地址栏会改变(可以跳转到webapp以外的url 如:百度) 6 / 代表http://localhost:8080/ forward()方法原理: 1,客户端发送请求,Servlet1做出处理。 2,Servlet1调用forward()方法,将请求转发给Servlet2来处理请求,为客户端服务。 3,Servlet2对客户端浏览器做出响应。 4, 不会执行转向后的代码 ,可以直接在地址栏传值 地址栏不改变(不可以跳转到webapp以外的url) / 代表http://localhost:8080/webappname 区别: 1,定位与转发 sendReadirect()方法是重新定位到另外一个资源来处理请求,URL会重新定位,让客户端重新访问另外一个资源。 forward()方法是转发到另外一个资源来处理请求。URL不会变化。隐藏了处理对象的变化。 2,处理请求的资源的范围 sendReadirect()方法可以跨WEB应用程序和服务器重新定位资源来处理请求。 forward()方法只能在应用程序内部转发。
本文档为【Servlet跳转】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_725835
暂无简介~
格式:doc
大小:17KB
软件:Word
页数:3
分类:互联网
上传时间:2011-10-12
浏览量:26