您的位置:首页 > 编程语言 > Java开发

【SpringMVC系列一】 EasyUI + SpringMVC 解决静态资源访问

2014-12-25 22:11 567 查看
我们的项目用的是EasyUI+SpringMVC+EJB+JPA,分享一下项目中遇到的一些问题及其解决方法。前台用的EasyUI,页面中引入了easyUI的js与css(引入路径正确),但是无论如何都显示不出来,如下图:



EasyUI的样式没有,看控制台:警告,找不到

21:26:25,643 WARN [org.springframework.web.servlet.PageNotFound](http-localhost/127.0.0.1:8080-1) No mapping found for HTTP request with URI[/itoo-basic-web/themes/default/easyui.css] in DispatcherServlet with name'action'
21:26:25,649 WARN [org.springframework.web.servlet.PageNotFound](http-localhost/127.0.0.1:8080-2) No mapping found for HTTP request with URI[/itoo-basic-web/themes/icon.css] in DispatcherServlet with name 'action'
21:26:25,656 WARN [org.springframework.web.servlet.PageNotFound](http-localhost/127.0.0.1:8080-5) No mapping found for HTTP request with URI[/itoo-basic-web/jquery.easyui.min.js] in DispatcherServlet with name 'action'
21:26:25,657 WARN [org.springframework.web.servlet.PageNotFound](http-localhost/127.0.0.1:8080-3) No mapping found for HTTP request with URI[/itoo-basic-web/demo/demo.css] in DispatcherServlet with name 'action'
21:26:25,666 WARN [org.springframework.web.servlet.PageNotFound](http-localhost/127.0.0.1:8080-4) No mapping found for HTTP request with URI[/itoo-basic-web/jquery.min.js] in DispatcherServlet with name 'action'
21:26:25,674 WARN [org.springframework.web.servlet.PageNotFound](http-localhost/127.0.0.1:8080-1) No mapping found for HTTP request with URI[/itoo-basic-web/jquery.easyui.min.js] in DispatcherServlet with name 'action'<span style="font-size: 14pt; font-family: 华文中宋; background-color: rgb(255, 255, 255);"> </span>


再用浏览器调试,点进去之后:所有的js,css都是空的




综合上面的情况来看,没有显示出来js,css,猜测是js,css被拦截了。所以查了一下springMVC的配置,这个问题就被解决了。


<!-- EasyUI样式,JS配置 刘腾腾 start-->
<mvc:annotation-driven/>
<mvc:resourceslocation="/demo/"mapping="/demo/**"></mvc:resources>
<mvc:resourceslocation="/themes/"mapping="/themes/**"></mvc:resources>
<mvc:resourceslocation="/locale/"mapping="/locale/**"></mvc:resources>
<mvc:resourceslocation="/" mapping="/**"></mvc:resources> 
<!-- EasyUI样式,JS配置  刘腾腾 end-->


配置完成之后,效果出来了:




点进去一个连接都会有显示的样式或者是js:



效果:




总结:
分析原因:在web.xml里面配置<servlet-mapping>下的<url-pattern>标签如下:<url-pattern>/<url-pattern>。即把所有的请求都交给spring去处理了,也就是说拦截了所有的请求。而所有的available的请求url都是在controller里面使用注解@RequestMapping()来配置的,这样访问js,css,jsp等这些静态资源就会访问不到,故需要配置。可以在web.xml里面进行相关的配置,但是没有试验成功;还可以在spring-servle.xml里进行配置,也就是上面用的方式。

<mvc:resources/>配置通过location属性制定静态资源的位置,由spring
MVC框架自己处理静态资源。并且允许静态资源放在任何地方,如WEB-INF目录下、类路径下,甚至可以打成Jar进行访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: