①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" />