springmvc dispatcherServlet url-pattern的设置

来源:互联网 发布:银行数据录入员好做吗 编辑:程序博客网 时间:2024/06/05 11:02

<url-pattern>/*</url-pattern>

设置为/*,springmvc DispatcherServlet将会override所有其他的servlet,包括由servlet容器提供的默认的servlet以及jsp servlet。你的任何请求将都会进入到这个servlet中,所以这并不是一个好的配置方式。

这种/*的配置多用在过滤器Filter中。

 

<url-pattern>/</url-pattern>

设置为/,并不会override任何其他的servlet。它只是替换了servlet容器内置的默认servlet的部分功能,用于所有对于其他注册servlet都不匹配的请求。通常情况下,对静态资源(CSS/JS/image)以及directory listings(/register,etc)这样的请求会触发。

而servlet容器内置的默认servlet 还能够处理 HTTP 缓存请求、媒体 (音频/视频) 流和文件下载恢复等。通常情况下,你并不想重写默认servlet,因为这样你将会有很多的任务要处理,这是不容易的。

至于说为什么配置了/,我们还可以访问jsp呢?jsp并没有进入到dispatcherServlet中进行处理,原因是当进行*.jsp请求的时候,servlet容器提供的内置的jsp servlet将会被调用。

 

如果配置为<url-pattern>/</url-pattern>,如何保证静态内容不进入dispatcherServlet中呢?

可以参考: springmvc使静态资源不进入DsipatchServlet的两种设置方法

 

参考:Difference between / and /* in servlet mapping url pattern

阅读全文
0 0
原创粉丝点击