• WEB-INF目录


    背景:

           在项目中,使用 "${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的目录不了解,知其然而不知其所以然,才会出现这样的问题。这次查了下,分享给大家。

  • 相关阅读:
    [leetcode-788-Rotated Digits]
    [leetcode-783-Minimum Distance Between BST Nodes]
    [leetcode-775-Global and Local Inversions]
    [leetcode-779-K-th Symbol in Grammar]
    对于网站,APP开发流程的理解
    进程与线程的一个简单解释【摘】
    快速入手Web幻灯片制作
    Spring MVC Hibernate MySQL Integration(集成) CRUD Example Tutorial【摘】
    linux下SVN服务器配置
    Mac OS X 下android环境搭建
  • 原文地址:https://www.cnblogs.com/saixing/p/6730237.html
Copyright © 2020-2023  润新知