Spring-mvc静态资源无法加载
2016-03-22 14:27
761 查看
今天自己手动写servletController,发现一个问题就是css怎么都加载不上来。首先看看web.xml
方法一:使用tomcat的默认的servlet,defaultServlet
方法二:就是使用mvc:resources注解,这个是在ControllerServlet-servlet.xml中
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" > <servlet> <servlet-name>ControllerServlet</servlet-name> <servlet-class>app02a.servlet.ControllerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ControllerServlet</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping> </web-app>很显然这个servlet将url有*.action的请求都会被拦截进行处理。我们在jsp页面嵌入css的时候就需要去访问http://localhost:8080/test/css/main.css 这个url. 很显然它是不会被servlet截取处理的,也就是静态的资源无法加载。
方法一:使用tomcat的默认的servlet,defaultServlet
<span style="white-space:pre"> </span><servlet> <servlet-name>default</servlet-name> <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping>
方法二:就是使用mvc:resources注解,这个是在ControllerServlet-servlet.xml中
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <mvc:resources mapping="/css/**" location="/WEB-INF/css/" /> <mvc:default-servlet-handler /> </beans>