1 <!-- springmvc的前端控制器 --> 2 <servlet> 3 <servlet-name>springMVC</servlet-name> 4 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 5 6 <!-- contextConfigLocation不是必须的 7 如果不配置contextConfigLocation 8 springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" --> 9 10 <init-param> 11 <param-name>contextConfigLocation</param-name> 12 <param-value>classpath:spring/springmvc.xml</param-value> 13 </init-param> 14 <load-on-startup>1</load-on-startup> 15 </servlet> 16 17 <servlet-mapping> 18 <servlet-name>springMVC</servlet-name> 19 <url-pattern>/</url-pattern> 20 </servlet-mapping>
/ 表示拦截所有的请求,包括静态资源
注意:当前端使用jsp java后端模板引擎时,/ 不会匹配到 .jsp ( 即 不会进入到项目中dispathservlet中,不会拦截 。jsp的请求,因为 jsp 在被访问时会解析,生成servlet,然后编译servlet,之后会被编译成为一个.class文件,实际是一个servlet在运行,因此可由web服务器直接访问。)
/* 会匹配到。jsp的路径。即 会匹配项目所有路径。
<url-pattern>/</url-pattern> --表示拦截所有的请求,包括静态资源
2、去静态资源拦截有三种方式
1、在web.xml中配置映射
2、在springMVC.xml中配置映射
3、在springMVC.xml中添加静态资源默认Servlet处理
3、方式一
在web.xml中配置映射
1 <!-- 对静态资源的配置 --> 2 <servlet-mapping> 3 <servlet-name>default</servlet-name> 4 <url-pattern>*.js</url-pattern> 5 <url-pattern>*.css</url-pattern> 6 <url-pattern>*.ico</url-pattern> 7 <url-pattern>/img/*</url-pattern> 8 <url-pattern>/fonts/*</url-pattern> 9 <url-pattern>/font/*</url-pattern> 10 </servlet-mapping>
Tomcat, Jetty, JBoss 自带的默认Servlet的名字 -- "default"
WebLogic 自带的 默认Servlet的名字 -- "FileServlet"
WebSphere 自带的 默认Servlet的名字 -- "SimpleFileServlet"
可以根据自身情况,来配置映射
注意: 请将它放在所有Servlet的最前面(为了让它最先匹配),这样的话性能上应该比较好
4、方式二
在springMVC.xml中添加静态资源的映射
1 <!-- 资源映射 --> 2 <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/> 3 <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
根据实际情况自行配置
5、方式三
在springMVC.xml中添加静态资源默认Servlet处理
1 <mvc:default-servlet-handler/> 2 3 <!-- 也可以自行手动配置,自定义servlet --> 4 <mvc:default-servlet-handler default-servlet-name="myDefaultServlet"/>
注意: 这种方式对spring版本必须要求3.0.5及以上