jsp引入css,js等文件浏览器解析空白的问题
2016-12-28 11:13
225 查看
今天想试试将H-ui.admin这个强大的后台管理模板放到自己的工程中去,然而有点蠢,第一步就出错了。lib文件夹下面的插件,选择了一些自己需要的,其它的全部删除掉。 static里面的css,js,skin皮肤文件,全部留着。 temp和template目录删掉了,剩下的html页面,挑了几个改成jsp页面,之后以为是见证奇迹的时候,没想到最后出现了这个效果图
![](http://e.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=604df4bff91f3a295a9dddc8a9159009/d52a2834349b033bb7aca9bb1cce36d3d539bdaf.jpg)
控制台各种报错,点开错误有点蒙了
![](http://e.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=e7590281fe03918fd78435cc610d0aaf/c995d143ad4bd113f78ee25353afa40f4bfb050b.jpg)
路径什么的应该没什么问题啊,后面为了证实,在myeclipse打开这个jsp
![](http://c.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=6d2e8875b199a9013b6053302da52643/80cb39dbb6fd5266a2086875a218972bd40736ab.jpg)
按住ctrl 可以进去,也没什么问题啊,这下蒙了,
![](http://h.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=e195c29d75d98d1076810437110f9436/b3fb43166d224f4aefec277200f790529822d15e.jpg)
打开浏览器对css的解析,发现竟然是空白的,哇,好尴尬,这个怎么解决呢
经过本人不懈努力,上网查找各种资料,最后在这http://www.cnblogs.com/jerrylz/articles/5116423.html发现了解决办法
感谢那位版主,这边自己记录下来,以免后来再次纠结这里
这个可以说是很多初学Springmvc的人都会碰到一个令人头痛的问题那就是为什么我配置好web.xml中的dispatchservlet后,js,css,甚至gif都不能正常显示了我们来看看我们配置的web.xml
<!-- 核心控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
之前我是这样的,那么这个是什么意思呢?这个就涉及到一个知识点了,就是url-pattern的/于*的区别了这里我来引用一段别人的原话url-pattern有5种配置模式:
(1)/xxx:完全匹配/xxx的路径
(2)/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx。
(3)/*:匹配/下的所有路径,请求可以进入到action或controller,但是转发jsp时再次被拦截,不能访问jsp界面。
(4).xx:匹配以xx结尾的路径,所有请求必须以.xx结尾,但不会影响访问静态文件。
(5)/:默认模式,未被匹配的路径都将映射到刺servlet,对jpg,js,css等静态文件也将被拦截,不能访问。
因此,如果我们一开始就采用了/的方式,那么就需要补上如下的web.xml配置来让静态文件可访问了<!-- static resources -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
但是其实简单的做法就是,我们并不需要这么复杂,其实就是把所有需要springmvc dispatchservlet的地方,设置成.do就可以了,这样静态文件还是可以继续访问的。否则我们要设置需要servlet-mapping的defaultServlet了。最后再介绍一种方法,这个是网上看来的,我没有尝试过,先贴出来<!-- 静态资源访问
<mvc:resources location="/img/" mapping="/img/**"/>
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
-->
相关文章推荐
- SpringMVC WEB项目 jsp引入的js,css,gif等类型文件找不到路径问题
- jsp.html中的引入js.css文件的问题,以及文件路径详解。
- jsp 网站引入外部css或者js失效问题解决
- jsp.html中的引入js.css文件的问题,以及文件路径详解。
- SpringMVC WEB项目 jsp引入的js,css文件找不到路径问题()
- jsp无法引入外部.JS或者.CSS文件的有关问题 (转)
- 通过struts.xml配置映射后的jsp引入外部css和js的路径问题及css中图片url路径问题
- JSP引入js、CSS文件的问题
- HTML/JSP引入JS文件路径问题解析
- js、css等文件引入空白问题
- 解决/WEB-INF目录下的jsp页面引入webRoot下的Js、css和图片的问题
- SpringMVC WEB项目 jsp引入的js,css文件找不到路径问题
- jsp文件中引入js、css文件失败问题
- jsp:跳转后页面css和js失效问题解决
- jsp、css中引入外部资源相对路径问题分析
- 使用springmvc做项目时资源的的引入问题 (CSS/JS/IMAGES)
- 引用外部.css或.js文件的路径问题--jsp或html页面引用
- 关于jsp引入js的一个问题
- jsp页面解决IE浏览器兼容模式下css,js显示问题