①No mapping found for HTTP request with URI[/msm2/css/login2.css] in DispatcherServlet with name 'springMVC'
webapp
js
css
WEB-INF
jsp
在spring-mvc.xml中添加
<!-- 开启注解 -->
<mvc:annotation-driven />
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
<mvc:resources location="/images/" mapping="/images/**"/>
总结:
分析原因:在web.xml里面配置<servlet-mapping>下的<url-pattern>标签如下:<url-pattern>/<url-pattern>。即把所有的请求都交给spring去处理了,也就是说拦截了所有的请求。而所有的available的请求url都是在controller里面使用注解@RequestMapping()来配置的,这样访问js,css,jsp等这些静态资源就会访问不到,故需要配置。可以在web.xml里面进行相关的配置,但是没有试验成功;还可以在spring-mvc.xml里进行配置,也就是上面用的方式。
<mvc:resources/>配置通过location属性制定静态资源的位置,由spring MVC框架自己处理静态资源。并且允许静态资源放在任何地方,如WEB-INF目录下、类路径下,甚至可以打成Jar进行访问。
参照博客:http://blog.csdn.net/liutengteng130/article/details/42153725
②js/css一般路径问题
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="<%=basePath %>images/login.js"></script>
<link href="css/login2.css" rel="stylesheet" type="text/css" />