由于我们在web.xml进行了如下配置:
<servlet> <servlet-name>spring_mvc_demo</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring_mvc_demo</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
spring mvc 将会拦截所有的访问请求,此时就会导致加载静态资源的时候会出错,
如果改成/*.do之类的,那么就不会对静态资源产生影响,不过个人不喜欢这种样子的url,所以不予考虑。
我们可以采用sprig的<mvc:resources /> 进行配置,location表示存储文件的路径,mapping表示url形式的访问方式。
它会将mapping形式的url映射到具体的文件上。
<mvc:resources location="/resources/images/" mapping="/images/**/"/> <mvc:resources location="/resources/css/" mapping="/css/**/"/> <mvc:resources location="/resources/js/" mapping="/js/**/"/>
记得要加上<mvc:annotation-driven />,不然会提示有问题。
这时候去访问的话应该是没问题的,如果出现问题,可以看看你的url是否是带项目名的。
网上还提到了servlet的default servlet 和<mvc:default-servlet-handler /> 这两种方法,但是懒得去进行测试。