WEB-INF目录

来源:互联网 发布:网络摄像头安全吗 编辑:程序博客网 时间:2024/05/17 23:44

背景:

       在项目中,使用 "${pageContext.request.contextPath}/image/01.jpg"获取不到该图片。在浏览器中直接输入地址也找不到,报错404.


解决:

      首先,图片确实存在,应该是路径问题。检查之后发现,小编把图片放到了webinf文件夹下,把图片取出来直接放到webroot下,就可以访问了。


扩展:

      web工程一般分为src和webRoot两个文件夹,其中,src存放java源代码,而WebRoot存放项目中的jsp、image,还有一些编译文件。这样做的好处就是将页面的显示层和代码层区分开来了。


       在WebRoot下有META-INF和WEB-INF,META-INF存放版本号、引用包等,一般很少涉及。WEB-INF我们接触的比较多,下面也会详细介绍。




      web-inf是java web的安全目录,之所以说他是安全的是因为他只可以通过服务端访问到,而客户端是无法访问的。如果想在页面中直接访问web-inf中的文件,必须通过web.xml进行映射才可以。比如:使用拦截器接收命令,来控制转发请求。


     这种方式降低了网页的注入漏洞,我们的jsp等文件不会暴露出来,bug出现的概率也大大减少了,系统的稳定性就提上来了。但像image等文件就可以直接放在webRoot下方便使用,因此我们常用的webinf目录如下图:



小结:

       之前不小心把图片放到了web-inf文件下,导致图片获取不到。找了半天,原来是位置放错了,还是对javaweb的目录不了解,知其然而不知其所以然,才会出现这样的问题。这次查了下,分享给大家。

0 0
原创粉丝点击