springmvc js/css路径问题

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

上一篇:gulp实现打包js/css/img/html文件,并对js/css/img文件加上版本号


下一篇:springMVC下jsp引用外部js,css等静态资源的解决方法