WEB-INF是Java的WEB应用的安全目录,所谓安全就是客户端无法访问,只有服务端可以访问的目录。
WEB-INF目录:lib用来放置数据库等配置的jar包, web.xml是Web应用程序配置文件
WEB-INF目录是服务器规定的,必须遵守这个格式才可以部署到服务器上,服务器才可以去解析。
同时在目录下可以放置多个配置文件标签文件等等
在web项目中,为了安全,可能需要把jsp文件放在WEB-INF目录下,这样如果我们的页面中出现超链接a标签或者js的location.href去直接转向到WEB-INF下的某一个jsp页面,那么就会引用不到,因为这样的请求方式是客户端的请求,而WEB-INF页面只对服务端开放,对客户端是不可见的。这时候我们可以使用action,来进行转向,我们先去请求一个action,然后由这个action分发到这个WEB-INF下的页面就可以了。我们可以自己定义一个类似struts1的DispatcherAction的一个action来分发页面。
http://www.cnblogs.com/shenxiaoquan/p/5819359.html
由于WEB-INF下对客户端是不可见的,所以相关的资源文件,如css、js、图片等不能放在WEB-INF下。
接下来对WEB-INF页面中的注意事项进行说明:
1. 把页面资源文件只能放在WebContent目录内,,如 CSS,JS,image等.不能放在WEB-INF下,因为WEB-INF是对客户端隐藏的,所以放在WEB-INF下会造成页面的布局等文件引用不到的情况。
2. 页面文件一般放在WEB-INF目录下面,这样可以限制访问,提高安全性.如JSP,html文件,放在WEB-INF目录下就可以避免客户端直接在地址栏上输入路径进行访问了。基于不同的功能 ,把JSP 放置在WEB-INF下的不同的目录中。
3. 只能用转向方式来访问WEB-INF目录下的JSP,不用采用重定向的方式请求该目录里面的任何资源。
4.转向方式:
4.1、请求转发:
如struts.xml文件中配置