web.xml文件中的路径
在<servlet-mapping></servlet-mapping>标签中<url-pattern></url-pattern>可以写多个。
<url-pattern>可以写成如下格式:
- <url-pattern>/hello</url-pattern>
- <url-pattern>/hello.do</url-pattern>
- <url-pattern>/hello.action</url-pattern>
- <url-pattern>/system/login.action</url-pattern> 精确匹配
- <url-pattern>/system/login.action</url-pattern> 精确匹配
- <url-pattern>/abc/*</url-pattern> 扩展匹配
- <url-pattern>*.do</url-pattern> <!--匹配所有以 .do 结尾的请求--> 后缀匹配
- <url-pattern>*.action</url-pattern><!--匹配所有以 .action 结尾的请求--> 后缀匹配
- 原则:如果有精确匹配的则走精确匹配的。
关于路径的总结:
1、 目前我们接触的所有路径都是以“/”开始,都是绝对路径,没有使用过相对路径。
2、 在向web服务器发送请求的时候(包括使用超链接、使用form表单、直接在浏览器地址栏上输入)以及我们在java程序中使用“重定向”的时候,这些请求路径中是需要添加“项目名“的,其他的位置都不需要添加项目名。
a)在HTML页面中 <a href=”/webappname/testServlet”>超链接</a>(第一个“/”代表Tomcat服务器根) <form action=”/webappname/testServlet”></form> b)重定向 response.sendRedirect(“/webappname/testServlet”); c)转发 request.getRequestDispatcher(“/testServlet”).forward(request,response); d)欢迎页面 <welcome-file-list> <welcome-file>index.html</welcome-file> 注:必须保证webapp的根下(WebRoot下)有index.html文件 </welcome-file-list> e)web.xml文件中配置servlet的url-pattern <url-pattern>/testServlet</url-pattern> f)Cookie关联的path: cookie.setPath(“/webappname/testServlet”); g) 通过ServletContext获取文件绝对路径: String realPath = application.getRealPath(“/index.html”);(保证webapp根下有index.html文件) |
总结:目前我们涉及到的所有路径都是以“/”开始,只有在向web服务器发送请求的时候才需要添加“项目名”,其他的路径都是不需要添加项目名。