Servlet URL映射中/和/*的区别

代码如下所示:

<servlet-mapping>
    <servlet-name>mainservlet-name>
    <url-pattern>/*url-pattern>
servlet-mapping>

<servlet-mapping>
    <servlet-name>mainservlet-name>
    <url-pattern>/url-pattern>
servlet-mapping>

/*会覆盖其他servlets。无论任何请求都会执行该servlet。
/不会覆盖其它servlet(它只会替换servlet容器中内置的静态资源和目录列表的默认servlet)。就是当请求没有匹配到一个更具体的URL时,会走默认servlet。对于*.jsp,由于servlet容器中内置了jspServlet,所以不会被/拦截。

Servlet2.5规范中的映射规则
1. 映射到具体的URL
2. 映射到含有通配符的URL
3. 映射到扩展映射
4. 映射到默认的servlet

你可能感兴趣的:(Java,Web开发)