JavaEE细节问题01——访问web资源的相对路径和绝对路径

0.几种常见的路径:

http://localhost:8080/myProject/servlet/testServlet浏览器

servlet/testServlet服务器

/servlet/testServletspa

那么看到这些应该怎么判断呢?资源


1.首先区分路径的分类

路径分两种:相对路径,绝对路径。部署

绝对路径:带有完整URL地址如:http://localhost:8080/myProject/servlet/testServlet 或者 路径最前面用/开头servlet

相对路径:相似:servlet/testServletit


2.对于绝对路径:

完整URL地址的不用说,你们都懂,直接访问。test

对于路径前面有斜线开头的:总结

若是是服务器中须要使用这样的路径,就是取得服务器当前Web应用为开始。项目

若是是浏览器中使用了这样的路径,就是取得服务器的地址为开始。

例子:

假设有一台服务器,地址是:192.168.1.33,端口号是8080,里面部署了3个Web项目,分别是pro1,pro2,pro3。

那么在pro1中有一个servlet使用了这样的路径"/servlet/ser1",那么服务器实际上要去访问的是在访问的路径

前面拼接上本身的地址,端口号和应用名也就是:http://192.168.1.33:8080/pro1/servlet/ser1 。

若是是浏览器使用了这样的路径"/servlet/ser1"就只能访问到:http://192.168.1.33:8080/servlet/ser1 ,

很明显,会出404。那么若是浏览器想得到本身须要的资源路径就要加上应用名:"/pro1/servlet/ser1",这样才能够。


3.对于相对路径:

相对路径就很简单了,好比有这样的一个资源结构

http://192.168.1.33:8080/pro1/servlet/----------|

                                            |---login.do     |--ser1

                                                                |--ser2

                                                                |--ser3


若是我是在ser1中经过相对路径访问ser2,路径只须要写成“ser2”

若是我是在ser1中经过相对路径访问ser3,路径只须要写成“ser3”

若是我是在login.do中经过相对路径访问ser2,路径只须要写成“servlet/ser2”


总结一下也就是相对路径是相对于资源自己位置所在路径为开始的相对路径。

相关文章
相关标签/搜索