页面转发和重定向的区别

页面转发和重定向的区别

ID:14286524

大小:44.00 KB

页数:15页

时间:2018-07-27

页面转发和重定向的区别_第1页
页面转发和重定向的区别_第2页
页面转发和重定向的区别_第3页
页面转发和重定向的区别_第4页
页面转发和重定向的区别_第5页
资源描述:

《页面转发和重定向的区别》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、页面转发和重定向的区别全解forward()和sendRedirect昨天在servlet中搞些页面重定向的问题,在处理页面的path时遇到了一些恼人的问题,今天来深究一下:Javax.servlet.RequestDispatcher.forward(ServletRequestrequest,ServletResponseresponse)Javax.servlet.http.HttpServletResponse.sendRedirect(Stringlocation)forward作用于服务器端,重定向后客户端浏览器地址栏的URL不变,无法通过get方式传递参数,不过

2、可以通过HttpServletResponse.setAttribute(key,values)来做:JDK的DOC中的描述:Forwardsarequestfromaservlettoanotherresource(servlet,JSPfile,orHTMLfile)ontheserver.Thismethodallowsoneservlettodopreliminaryprocessingofarequestandanotherresourcetogeneratetheresponse.forwardshouldbecalledbeforetheresponsehasb

3、eencommittedtotheclient(beforeresponsebodyoutputhasbeenflushed).Iftheresponsealreadyhasbeencommitted,thismethodthrowsanIllegalStateException.Uncommittedoutputintheresponsebufferisautomaticallyclearedbeforetheforward.这个方法允许一个servlet对一个请求作完处理后,并使用另一个资源作响应。forward应该在向客户端发出响应之前被调用(response的输出流被

4、刷新之前),如果已经向客户端发出了响应,这个方法将抛出一个“IllegalStateException”的异常。未发出响应response的输出缓冲区在调用forward会被自动的清空。得到RequestDispatcher引用的方法:1、javax.servlet.ServletContext.getRequestDispatcher(Stringpath)JDK的DOC中的描述:Thepathnamemustbeginwitha"/"andisinterpretedasrelativetothecurrentcontextroot.UsegetContexttoobtai

5、naRequestDispatcherforresourcesinforeigncontexts.ThismethodreturnsnulliftheServletContextcannotreturnaRequestDispatcher.用的最多,最容易理解的方法,path必须是以“/”开头,路径是相对于全局上下文路径,对应于web应用的根目录2、javax.servlet.ServletRequest.getRequestDispatcher(Stringpath)JDK的DOC中的描述:Thepathnamespecifiedmayberelative,although

6、itcannotextendoutsidethecurrentservletcontext.Ifthepathbeginswitha"/"itisinterpretedasrelativetothecurrentcontextroot.ThismethodreturnsnulliftheservletcontainercannotreturnaRequestDispatcher.可以是相对地址,以当前资源的根目录,但不能超出当前资源根目录。可以是以“/”开头的地址,当前root作为根目录环境。2、javax.servlet.ServletContext.getNamedDis

7、patcher(Stringname)JDK的DOC中的描述:Servlets(andJSPpagesalso)maybegivennamesviaserveradministrationorviaawebapplicationdeploymentdescriptor.得到名为name的资源。Servlets(也可是JSP页面)可能会有个给定的名字,该名字是服务器或者web应用的部署描述web.xml提供的。sendRedirect工作在客户端,重定向后客户端浏览器地址栏的URL变为新的资源URL,可以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。