测试的时候发现:如果直接访问web项目的html等静态资源,不能访问
原因如下: 当web.xml中url-pattern配置为"/"时,会导致系统中的静态资源被拦截
如何解决:
1)修改url-pattern 2)进行静态资源映射 3)开放tomcat的defaultServlet
我测试了解决方案2和3,做了如下的配置:
web.xml:
<!-- springmvc核心 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
springmvc.xml:
1)映射静态资源
<!-- 解决静态资源问题 mapping:映射 location:本地资源路径,注意必须是webapp根目录下的路径。两个*,它表示映射resources/下所有的URL,包括子路径(即接多个/) --> <mvc:resources location="/upload/**" mapping="/upload/"/> <mvc:resources location="/js/*" mapping="/js/*"/> <mvc:resources location="/css/**" mapping="/css/**"/>
或者
2)开放tomcat的defaultServlet,只需要添加一行配置,是不是很方便
<mvc:default-servlet-handler/>
参考:http://www.cnblogs.com/yank/p/4477204.html
时间: 2024-10-09 15:39:56