web.xml
<web-app ...>
...
<servlet-mapping>
<servlet-name>ServletOne</servlet-name>
<url-pattern>/servlet/ServletOne</url-pattern>
</servlet-mapping>
...
</web-app>
个中 < url-pattern > 标签中的第一个”/”即代表项目根目录,也设定了 servlet 对付项目的映射地址。
项目以WebRoot目录为根目录,如果根目录下有 index.jsp 页面,在该页面中 < a > 和 < form > 标签链接地址确当前目录即为根目录下,若要访问 ServletOne 则链接地址可以写为 “./servlet/ServletOne” 或 “servlet/ServletOne” 再或 “/servlet/ServletOne”;
同理,在 ServletOne.java 页面里想跳转到 index.jsp 则地址可以写为 “../index.jsp” 。
页面中”/”代表做事器根目录:
index.jsp
...
<form action=\"大众/ServletTest/servlet/ServletOne\"大众 method=\"大众post\"大众>
...
</form>
...
<a href=\公众/ServletTest/servlet/ServletOne\"大众>测试</a>
...
个中 < form > 和 < a > 标签中的链接地址,第一个”/”代表的是做事器根目录。
要求重定向中”/”代表做事器根目录:
ServletOne.java
...
response.sendRedirect(\"大众/ServletTest/servlet/info.jsp\"大众);
...
其地址中第一个”/”代表做事器根目录。
要求转发中”/”代表项目根目录:
ServletOne.java
...
request.getRequestDispatcher(\"大众/info.jsp\"大众).forward(request, response);
...
其地址中第一个”/”代表项目根目录,< jsp:forward > 结果相同。
Filter要求重定向和转发中当前路径为匹配过滤页面的路径:
web.xml
<web-app ...>
...
<filter-mapping>
...
<url-pattern>/index.jsp</url-pattern>
</filter-mapping>
...
</web-app>
个中,过滤器中要求重定向和转发确当前路径为index.jsp所在路径,也便是项目根目录下。