- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
forward和redirect的问题(路径问题)
forward和redirect的问题(路径问题)
3.4.1. 绝对路径与相对路径
如果咱们使用的URL网址是以“/”开头的,那么这个网址就叫做绝对路径。
如果咱们使用的URL网址不是“/”开头的,那么这个网址就叫做相对路径。
. 相对路径
在相对路径上,两者的表现是相同的。
看看lingo-sample/03-03/这个例子,如果我们去请求relative/forward.jsp或redirect.jsp,然后从这里再跳转向它下面的result/result.jsp会怎样呢?
forward的例子:
%request.getRequestDispatcher(result/result.jsp).forward(request, response);%
这里的相对路径就是result/result.jsp。
因为刚刚请求的test.jsp是在/03-03/relative/下,所以我们的当前路径就是/03-03/relative/,执行forward的时候会寻找当前路径下的result/result.jsp,找到之后便转发请求。
redirect的例子:
%response.sendRedirect(result/result.jsp);%
这里的相对路径也是result/result.jsp。
因为刚刚请求的test.jsp是在/03-03/relative/下,所以我们的当前路径就是/03-03/relative/,执行redirect的时候会把当前路径加上result/result.jsp,把结果作为重定向的地址发送给浏览器,浏览器再去请求/03-03/relative/result/result.jsp,从而得到响应。
. 绝对路径
问题出现了,绝对路径在forward和redirect中出现了差别,还是刚才的情况,但使用绝对路径的时候写法便不同了。
forward的例子:
%request.getRequestDispatcher(/relative/result/result.jsp).forward(request, response);%
这里的绝对路径就是/relative/result/result.jsp。
在本地测试时,forward把http://localhost:8080/03-03/当作根路径,在它的基础上计算绝对路径。
这是由jsp的部署方式决定的,webapp里可以放好多项目,为了让这些项目可以互不影响、独立运行,不能让请求从一个项目直接在服务器内部转移到另一个项目。为了防止出现这种情况,在执行forward的时候干脆把项目的路径当作根目录,开发者看不到其他项目,也就不会出现问题了。
redirect的例子:
%response.sendRedirect(/03-03/absolute/result/result.jsp);%
这里的绝对路径却是/03-03/absolute/result/result.jsp。
在本地测试时,redirect把http://localhost:8080/当作根路径,在它的基础上计算绝对路径。
因为redirect会让浏览器重新发起一个新请求,所以不会搅乱服务器里多个项目之间的关系,也就不需要对它做限制,如果需要在多个项目之间进行跳转,就只能使用redirect。不过因为重新发起了新的请求,上次请求的那些数据都会丢失,如果有什么重要的数据,记得要重新设置。
3.4.2. forward导致找不到图片
找不到图片,找不到js脚本,找不到css样式表,都属于这个问题。
要演示这个问题,是非常容易的,只需要满足两个条件:
forward前后的jsp页面不在一个目录下。
forward后的jsp页面里使用相对路径引用一些资源,图片,js脚本,css样式表什么的。
03-04里就模拟了这样一个环境,你进入http://localhost:8080/03-04/,选择“有问题的”:
打开03-04可以看到如下的目录结构:
|--+ 03-04
|--- index.jsp
|--- test.jsp
|--+ result
|--- success.jsp
|--- failure.jsp
|--- lingo.png
刚才咱们看到的页面是failure.jsp,它里边显示图片的部分是:
您可能关注的文档
- 77-青春铸就税花红 巾帼建功当标兵.doc
- 79-第3单元:分子动理论.doc
- 7A Unit6 Food and lifestyle 单元综合测试.doc
- 7天告别运动员焦虑症.doc
- 7天告别精神焦虑症自测自量表.doc
- 7月7全能优化V3生日版说明书.doc
- 7年级历史第一单元自测.doc
- 7月24日 惊人的刺激感.doc
- 7种方法教你减压.doc
- 800句让你记住7000个单词(十二).doc
- 山西省2022-2023学年度九年级阶段评估(E)英语.pdf
- 2025年度哈尔滨“丁香人才周”(秋季)事业单位引才招聘1938人备考题库带答案详解.docx
- 2025年度哈尔滨“丁香人才周”(秋季)事业单位引才招聘1938人备考题库附答案详解.docx
- 2025年度哈尔滨“丁香人才周”(秋季)事业单位引才招聘1938人备考题库含答案详解.docx
- 2025年度哈尔滨“丁香人才周”(秋季)巴彦县事业单位引才招聘118人备考题库附答案详解.docx
- 2025年度哈尔滨“丁香人才周”(秋季)事业单位引才招聘1938人备考题库参考答案详解.docx
- 2025年度吉林省各级机关考试录用公务员备考题库(4984人)及答案详解一套.docx
- 2025年度南平武发房产集团有限公司职业经理人招聘1人备考题库附答案详解.docx
- 2025年度北方联合电力有限责任公司社会招聘毕业生124人备考题库附答案详解.docx
- 2025年度临沂市面向优秀本土人才招录基层公务员备考题库附答案详解.docx
最近下载
- 2025年物业管理师职业技能鉴定考试(技能实操·中级/四级)题库 (1).docx
- 《机场周围区域飞机噪声环境标准》(征求意见稿)编制说明.pdf VIP
- 智慧树知到《职业生涯规划-体验式学习》章节测试答案.docx VIP
- 2025《以蚂蚁金服为例的盈利模式分析》12000字.docx VIP
- 16D702-6 城市照明设计与施工.pptx VIP
- 16D702-6 城市照明设计与施工.docx VIP
- 安全生产应急救援制度.docx VIP
- 生产安全事故报告及处理制度.docx VIP
- 6大数据导论-第6章-数据存储与管理(2020年秋季学期).ppt VIP
- 2025年物业管理师职业技能鉴定考试(技能实操·高级/三级)全真模拟题库五.docx
原创力文档


文档评论(0)