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