在Java Web中,经常要处理路径,在此总结一下:
1.web.xml中的<url-pattern>路径,要么以"/"开头,要么以"*"(匹配路径)开头。
实例:<url-pattern>/AServlet</url-pattern>,假如项目名称为MyJavaWeb,那么访问项目中的某个Servlet的url为http://localhost:8080/MyJavaWeb
2.重定向路径。
以"/"开头表示相对于当前主机,例如:http://localhost:8080,如果要重定向到MyJavaWeb中的AServlet则只需要写response.sendRedirect("MyJavaWeb/AServlet");
3.页面中超链接与表单路径
与重定向相同,需要添加项目名。
例如:
<form action="/MyJavaWeb/AServlet">
<a href="/MyJavaWeb/AServlet">
<a href="AServlet"> 如果不是以"/"开头,那么就是相对于当前页面的路径。
4.ServletContext获取资源路径。
相对当前项目目录,即index.jsp文件目录
5.ClassLoader获取资源路径。
相对于classes目录
6.class获取资源路径
以"/"开头相对于classes目录,
不以"/"开头,相对于当前.class文件所在的目录。