jsp放在web-inf下访问静态资源

来源:互联网 发布:关于windows api的书籍 编辑:程序博客网 时间:2024/06/02 01:18

这里写图片描述
web-inf目录是不对外开放的,外部没办法直接访问到。所有只能通过映射来访问,比如映射为一个action或者servlet通过服务器端跳转来访问到具体的页面。这样可以限制访问,提高安全性。

1、把页面资源文件只能放在webroot或WebContent下面,如 CSS,JS,image等.放在WEB-INF下直接引用不了,可以通过统一的拦截器拦截静态资源,当有请求过来时,forward至静态源。。
2、只能用转发方式来访问WEB-INF目录下的JSP,不用采用重定向的方式请求该目录里面的任何资源
3、WEB-INF目录下文件访问资源文件时,可以忽略WEB-INF这一层目录.如index.jsp 要用css目录里的一个css文件. <link rel="StyleSheet" href="../css/index.css" type="text/css" />这样就行了。
4、WEB-INF目录下的文件之间如何访问呢.可以通过action和servlet转发跳转,例如

<jsp:forward page ="/WEB-INF/jsp/test/test.jsp" />或者request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);
1 0