Servlet映射

你真的理解SpringMVC DispatcherServlet中的映射了吗?

故事扮演 提交于 2019-12-02 09:47:10
一、Request URL 与 Servlet url-pattern匹配顺序与关系 当一个请求发送到 servlet 容器(服务器)的时候,容器先会将请求的 url 减去当前应用上下文的路径,就是 scheme://ip:port/context 的 url 作为 servlet 的映射 url ,访问的是 http://localhost:8080/test/index.html ,我的应用上下文( context )是 test ,容器会将 http://localhost:8080/test 去掉,剩下的 /index.html 部分拿来和 servlet 的 url-pattern 进行匹配。 1. 精确路径匹配 ( 完全匹配 ) 以 ”/” 开始的,不包含通配符 * (不以通配符结尾)的,例如: <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/index.html</url-pattern> </servlet-mapping> 2. 最长路径匹配(路径匹配) 以 ”/” 开始的,并且以通配符 * 结尾的(通配符只能在结尾,不能放中间。例如, /index/te*/index.html 这样的) <servlet-mapping> <servlet-name>default<