有个兄弟今天问了我一个问题:
页面不加载css。
思路:页面不加载css先排除页面本身的代码问题,经过检查,代码没有问题,单独打开页面测试发现可以正常加载css,判断为服务器响应没有加载静态资源。
先说解决方案:
web.xml文件中添加:
<mvc:default-servlet-handler/>
问题完美解决。
详解:
web.xml配置如下:
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
spring通过DispatcherServlet捕获所有请求,但是只能处理普通请求,静态资源的请求会因为找不到相对应的处理器而报错。在web.xml中添加:
<mvc:default-servlet-handler/>
通过配置default-servlet-handler会生成一个DefaultServletHttpRequestHandler对象,该对象检查所有请求,非静态资源请求交DispatcherServlet处理,静态资源请求由服务器默认Servlet处理,以此来解决springmvc不好处理静态资源请求的问题。
如此,springmvc便可以很好的工作了。