在非spring MVC拦截“/“的情况下:
web-inf是受保护的,不能直接访问
下面是解决方法
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<script type="text/javascript" src="${path}/js/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="${path}/js/jquery.datepick.js"></script>
<script type="text/javascript" src="${path}/js/jquery.datepick-zh-CN.js"></script>
<link type="text/css" href="${path}/css/smoothness.datepick.css" rel="stylesheet">
首先,css/js/html没有必要放在WEB-INF下。
最终这些会被原封不动的展现在客户端,所以访问安全根本就不会成为问题。
jsp放在web-inf下,原因主要有两个
1. 远古时代的模式会把业务逻辑,数据库连接等敏感信息写在jsp里面,被用户直接访问会有安全问题。
现代模式里这个不再成为问题,不应该成为问题。
2. jsp是在服务器端运行的,而且通常都需要其他程序支持——比如后台处理好数据再让jsp渲染等,用户直接访问一则没有意义,二则会抛异常,这些都浪费服务器资源。
其次,如果你一定要放在web-inf下。
需要弄个servlet来forward,或者读取文件后写在response上。
如果是spring,可以参考
http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html
中的
17.15.6 Configuring Serving of Resources