WEB-INF安全目录下资源不能直接访问

本文详细解释了web项目的WEB-INF目录的访问权限设置,包括为何该目录默认禁止直接访问,如何通过配置允许访问HTML文件,以及如何利用Servlet进行资源访问。通过修改web.xml文件,可以实现对HTML文件的访问,同时保持对敏感资源的安全防护。

关于web项目的访问权限

转载:

因为web-inf下,应用服务器把它指为禁访目录,即直接在浏览器里是不能访问到的。
但是可以让servlet进行访问,如web-inf下有a.jsp则可以用request.getrequestdispatcher("/web-inf/a.jsp").forward(request,response);
补充一下,如果你想访问web-inf下的htm文件的话,用request.getrequestdispatcher("/web-inf/a.htm").forward(request,response);是访问不了的。
原因很简单,jsp就是servlet,会被编译成class文件,而htm的就不行了。
所以需要配置以下conf下的web.xml文件才能去访问html。
具体实现如下:
用打开tomcat安装目录下conf下的web.xml文件,找到

<servlet-mapping>
<servlet-name>jsp<servlet-name>
<url-pattern>*.jsp<url-pattern>
<servlet-mapping>

然后在它下面添加

</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html<url-pattern>
</servlet-mapping>

通常把那些限制访问的资源(比如说jsp源代码)放到Web应用的WEB-INF目录下,对于/web-INF/及其子目录,不允许直接的公共访问,所以就可以起到保护这些代码未经授权的访问和窥视,更好的保护了源代码。为了减少风险,可以把这些页面文件移到WEB-INF 目录下。基于Servlet的声明,WEB-INF不作为Web应用的公共文档树的一部分。因此,WEB-INF 目录下的资源不是为客户直接服务的。我们仍然可以使用WEB-INF目录下的JSP页面来提供视图给客户,客户却不能直接请求访问JSP。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值