Spring MVC JSP页面无法加载.jpg .css .js的解决方案
2015-04-28 00:12
603 查看
原文链接:点击打开链接最近想自己用很牛逼的Spring+Hibernate开发框架动手撸一个博客系统,不要问我为什么,个人觉得Java比PHP的安全性更高,而且实在没有心情去看wordpress下php文件冗长的代码,就暂时性放下了自己去制作一个wordpress的主题。边玩边学之后,对HTML5,CSS,JavaScript都有了一定点了解,晚上断电之后,自己用记事本撸了一些html文件,准备第二天整合到Spring项目中。接着整合打时候,出现了JSP页面无法加载 .jpg , .css ,.js文件,路径都没有错,花了我几个小时,查遍了网上 的办法,总算说解决了。真是日了狗了。之所以不能加载这些文件的原因在这里,web.xml文件下又这样一段配置:
<!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> <url-pattern>*.js</url-pattern> <url-pattern>*.css</url-pattern> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
<p style="color: rgb(51, 51, 51); font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 16px; line-height: 24px;">加粗的地方<strong><url-pattern>/</url-pattern>,这个“/”一出现就拦截来所有的请求,包括我们使用<img src="xxx.jpg"></strong></p><p style="color: rgb(51, 51, 51); font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 16px; line-height: 24px;">或者说<link rel="stylesheet" href="css/style.css" media="screen" type="text/css" />,文件的路径都给拦截下来了,而所有available的请求url都是在Constroller里使用类似@RequestMapping(value = "/login/{user}", method = RequestMethod.GET)这样的注解配置的,这样的话对js/css/jpg/gif等静态资源的访问就会得不到。。</p><p style="color: rgb(51, 51, 51); font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 16px; line-height: 24px;">我也试过这个办法,再web.xml里面加入这个段代码,</p>
<pre name="code" class="html"> <servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.png</url-pattern><url-pattern>*.js</url-pattern><url-pattern>*.css</url-pattern><url-pattern>*.jpg</url-pattern></servlet-mapping>Tomcat默认的servlet是default,据说是可以这样找到我们要用的静态文件,我试过之后就挂掉, 可能说我自己配错了。后来我在webapp目录下新建了img,css,js文件夹,把静态资源放进去,然后在servlet-context.xml配置里增加了这么几行:
<mvc:resources location="/img/" mapping="/img/**"/><mvc:resources location="/js/" mapping="/js/**"/>img/**映射到 ResourceHttpRequestHandler进行处理,location指定静态资源的位置。调试成功,自我总结就是Spring太屌,得花大量时间去实践,然而感觉是日了狗了。
相关文章推荐
- 用maven搭建springmvc项目时,jsp页面无法加载js或者css等静态资源
- 关于 基于maven创建的项目jsp页面无法加载css、js、图片的问题
- Maven工程JSP页面无法加载.js文件的解决方案
- 加快页面加载速度的解决方案-asp.net使用httphandler打包多CSS或JS文件
- IIS7中JS、CSS、Image无法显示和加载解决方案
- SpringMVC的WEB-INF下的JSP加载js,css,jpg等静态文件
- spring MVC js css图片等静态资源无法加载问题
- spring mvc项目的jsp找不到 静态CSS,JS加载js 404错误
- web.xml中配置访问资源URL<url-pattern>/</url-pattern>时无法访问.html、.jsp、.js、.css等静态资源时的解决方案
- spring mvc项目的jsp找不到CSS,JS加载
- web.xml中配置访问资源URL<url-pattern>/</url-pattern>时无法访问.html、.jsp、.js、.css等静态资源时的解决方案
- Struts2 访问Action和Jsp页面出现的路径问题解决方案之 ---- 为jsp、图片、js、css等获取Web工程的绝对路径的方法
- SpringMVC 通过Controller返回到jsp页面后,页面能显示,但js,css图片等加载不出来
- springmvc controller跳转后jsp页面无法加载静态资源css,图片等错误解决方法
- struts2使用action跳转后的页面路径如果是相对路径的话会出现css、js以及图片等无法加载问题
- spring mvc项目的jsp找不到CSS,JS加载
- Spring Mvc 无法加载js、css文件解决办法【待补充其他优雅的方法】
- spring mvc项目的jsp找不到CSS,JS加载
- spring MVC 跳转js css图片等静态资源无法加载问题
- spring mvc项目的jsp找不到CSS,JS加载