今天,前端的同学把JSP页面发给我后,叫我集成SSM框架,哐哐哐,把配置文件写好后,运行,duang!
右键查看源代码,随便点击一个资源文件的链接,404!
资源文件加载不了!!
慌了好久,找到了几种解决方案:
- 修改 web.xml 文件,不让SpringMVC框架拦截所有,只拦截 .do的请求。
<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-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
- 修改SpringMVC配置文件,让它知道哪些是资源文件,不进行拦截
<mvc:annotation-driven />
<mvc:default-servlet-handler />
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
<mvc:resources location="/img/" mapping="/img/**"/>
<mvc:resources location="/fonts/" mapping="/fonts/**"/>
<mvc:resources location="/ajax/" mapping="/ajax/**"/>
- 在 web.xml 中增加对静态资源的处理
<servlet-mapping>
2 <servlet-name>default</servlet-name>
3 <url-pattern>*.js</url-pattern>
4 <url-pattern>*.css</url-pattern>
5 <url-pattern>/assets/*"</url-pattern>
6 <url-pattern>/images/*</url-pattern>
7 </servlet-mapping>
最后,可能需要注意一下导入的 jar 包 和 配置文件中命名空间的版本是否一致