springmvc无法访问静态资源

来源:互联网 发布:单片机开发案例 编辑:程序博客网 时间:2024/06/11 03:43

springmvc无法访问静态资源

想要在页面中引入一段js

    <script type="text/javascript" src="plugins/My97DatePicker/WdatePicker.js"></script>

页面无法引入js,后台报错:
[org.springframework.web.servlet.PageNotFound] {} - No mapping found for HTTP request with URI [/data-export/plugins/My97DatePicker/WdatePicker.js] in DispatcherServlet with name ‘springServlet’

原因:在web.xml中配置了springServlet如下:

 <servlet-mapping>    <servlet-name>springServlet</servlet-name>    <url-pattern>/</url-pattern>  </servlet-mapping>

默认对所有/访问的页面或者其他资源都进行拦截,而这个js没有相应的controller,所以无法访问。

解决办法1:
把springServlet配置改为*.do或者其他

  <servlet-mapping>    <servlet-name>springServlet</servlet-name>    <url-pattern>*.do</url-pattern>  </servlet-mapping>

解决办法2:
在spring-mvc.xml中配置静态资源访问:

 <mvc:resources location="/" mapping="/**/*.js"/> <mvc:resources location="/" mapping="/**/*.css"/> <mvc:resources location="/" mapping="/**/*.gif"/> <mvc:resources location="/" mapping="/**/*.jpg"/>

解决办法3:
在spring-mvc.xml中配置:

 <mvc:default-servlet-handler/>   

spring版本需要在3.0.5以上

0 0