相当路径访问的时候需要分析路径的层级关系,比较复杂,现在直接使用绝对路径访问,不论路径的层级关系如何
和servlet路径层级关系相同的HTML中访问:
a标签的写法:
<h1>利用绝对路径访问servlet</h1>
<a href="http://localhost:8080/requestresponse/hello"> Get in!</a>
在/webroot/dir1/1.html/路径下的html的啊标签的写法
<h1>利用绝对路径访问servlet</h1>
<a href="http://localhost:8080/requestresponse/hello"> Get in!</a>
不论层级关系,两种a标签的写法是一样的!
直接把地址写死了,不建议使用!
建议使用下面这种方式:
如果是浏览器访问服务器的时候:
不管1.HTML的路径在哪里,都能访问成功
代码:
<!--
使用/项目名称/目标路径
/代表绝对路径项目名称之前的路径:
例如:http://localhost:8080/requestresponse/1.html
那么这里说的“/” 代表的就是http://localhost:8080
-->
<a href="/requestresponse/hello">Get into use other method..</a>
--------------------------------------------------------------------------
如果是服务器跳转到服务器的时候:
“/”的含义就变化了:
代表的是http://localhost:8080/requestresponse/
也就是/包括目标地址、端口、项目名。三个
而在浏览器访问服务器的时候“/”仅仅包括:目标地址,端口
比如在服务器内部:
一个servlet跳转到另一个servlet的时候:
代码:
//正常的访问地址:http://localhost:8080/requestresponse/dir1/1.html
request.getRequestDispatcher("/dir1/1.html").forward(request, response);