J2EE中绝对路径根相对路径文档相对路径问题注意.docVIP

J2EE中绝对路径根相对路径文档相对路径问题注意.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
J2EE中绝对路径根相对路径文档相对路径问题注意

指定网络上的资源的3种方式: 1.绝对路径??eg: /index.html 2.根相对路径??eg:??/index.html 3.文档相对路径???eg: ./index.html 下面结合今天的实验解释绝对路径,根相对路径和文档相对路径三者的区别和使用方法 今天废了一个小时的劲,累死了,一直在调试这个Servlet,最后发现是我的相对路径的错误。 这上面显示路径/LoginServlet不可用,发现我的代码没有问题,后来看了下地址栏的路径,发现连接的相对路径映射到绝对路径的时候发生了错误: 这个是原始的欢迎页面的路径,我的web应用名为FilterLoginApp 下面这个是进行定位Servlet的路径,这时候发生了连接错误: 这个时候发现地址栏的主机名后面少了web应用名FilterLoginApp,这时候发现了自己的相对路径的设置出现了问题,出现相对路径的地方应该是form的action属性: 经过试验发??这里去掉/即可, 当去掉/的时候,这里的LoginServlet就相当于FilterLoginApp web应用程序根目录的资源地址,而当加上/的时候就会出现上面错误的URL地址,即没有了FilterLoginApp,而只有主机名+/LoginServlet,在这里就是 http://localhost:8080/LoginServlet 这个资源请求地址是明显不对的. 利用这种思想也可以将action的值改为/FilterLoginApp/LoginServlet时返回的是正确的结果,原因很简单,这样的资源请求地址就变为 http://localhost:8080/FilterLoginApp/LoginServlet 这个地址是正确的. PS:这里就是根相对路径的使用形式. 小结一下原因,就是/代表主机根目录,在linux OS中也是这个意思,前面的 http://localhost:8080代表主机名,紧跟着的/符号代表的是目标主机的根目录,因此上面的/LoginServlet 路径的意思就是web容器下的根目录下的LoginServlet资源,在这个例子下当然是找不到的,应该是/FilterLoginApp/LoginServlet这个路径. *所以以后记住加了/+资源名是相对于主机根目录的资源地址,而直接写资源名则是相对于主机名/web应用名web应用程序的根目录地址的资源.这里的资源指的是sevlet. 但是当不加/时,而仅仅加入资源名,这个时候就是相对于FilterLoginApp这个web应用的根目录的资源地址了,在后面的代码中我也发现了自己相同的错误代码. 这里可以清楚的看见资源定位的错误,没有加入web应用程序的根目录 导致这个错误的原因是 在这里又在HTML代码中的超链接a中把路径写错,道理同上面的错误一样,不应该加入/符号, 在这里只要记住/在linux代表相对于主机根目录即可,而不是应用根目录,而不带/代表的是相对于web应用程序根目录的资源位置. -------------------------------------------------------------------------------------------------- 另外一种是用相对路径的方法是将a href=/manager/WelcomeServlet试试访问管理资源/a改为 a href=./manager/WelcomeServlet试试访问管理资源/a,这里就是在/manager前加入一个.即可 .代表该代码所在文件的所在的当前目录.这里就相当于LoginServlet.java文件所在的目录,即根目录. 而..(两个点)代表父目录,即当前文件所在目录的上级目录. -------------------------------------------------------------------------------------------------- 经过试验发现,当把login.html欢迎页面放在深层目录的时候,只能是用不加/的方法定位Servlet资源地址,否则发生错误,包括根相对路径和文档相对路径,均会发生错误. 上图: 原来的路径:  HYPERLINK /showpic.html \l blogid=6a0cb8bc0100vpkcurl=/orignal/6a0cb8bc4a5e8966f51fe \t _blank ? 改动后的路径: 这时只能这样是用路径,而不能是用根绝对路径; 即,不能是用/LoginServlet或是../LoginServlet 这样设置之后会发生这样的错误 但是可以使用绝对路径:

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档