JSP引入外部文件遇到的一个问题_html/css_WEB-ITnose

WBOY
풀어 주다: 2016-06-21 08:46:01
원래의
1504명이 탐색했습니다.

今天搭建了一个项目,框架式Spring、SpringMVC和Mybatis,在JSP中引入js文件和css文件的时候发现一直引入不了,后来发现是SpringMVC的一个配置导致的,也就记录一下,目录结构是这样的:

project.jpg

引入外部文件的方式:

<script type="text/javascript" src="${ctx}/js/jquery.min.js"></script><script type="text/javascript" src="${ctx}/js/bootstrap.min.js"></script><script type="text/javascript" src="${ctx}/js/bootstrap-paginator.js"></script><script type="text/javascript" src="${ctx}/js/wiki.js"></script><link rel="stylesheet" type="text/css" href="${ctx}/css/bootstrap.min.css" /><link rel="stylesheet" type="text/css" href="${ctx}/css/shopin-list.css" />
로그인 후 복사

在jsp中定义了ctx的路径,也就是项目的根路径:

<%request.setAttribute("ctx", request.getContextPath());%>
로그인 후 복사

这样也是为了方便管理,在实际应用中,我们只需要这样引用就可以了:

<%@ include file="common/header.jsp"%>
로그인 후 복사

但是自己觉得这样没什么问题,但是fireBug一直报404错误,找不到js文件和css文件,我也找不到头绪,也想了很久,才发现在web.xml中拦截了所有的路径:

<servlet-mapping>        <servlet-name>shopin-wiki</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping>
로그인 후 복사

又在springmvc配置文件中给做了资源映射:

<mvc:resources location="/WEB-INF/css/" mapping="/css/**"/><mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
로그인 후 복사

但是路径是在/WEB-INF/css/下,就会导致我现在放在webapp目录下的文件找不到。

总结

因为web.xml在项目启动的时候会加载在web.xml文件中配置的springmvc控制器,默认拦截了所有的url,但是静态资源我不想让拦截,我就可以在springmvc配置文件中配置资源映射,标签的意思就是我的页面引用到/css/**的资源都会从/WEB-INF/css/这个目录下寻找,自己理解是这样的,理解的比较肤浅, 底层实现自己还是不知道如何实现的。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!