WEB-INF简介

WEB-INF是Java的WEB应用的安全目录

里面的文件是受到保护的,所谓的安全就是客户端无法直接访问,只有服务端可以访问的目录。

如果想在页面中直接访问其中的文件,必须通过 web.xml 文件对要访问的文件进行相应映射才能访问。

WEB-INF目录的作用

  • /WEB-INF/web.xml
          Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。

         

  • /WEB-INF/classes/

         包含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中。
         

  • /WEB-INF/lib/
         存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件。
         

  • /WEB-INF/src/
         源码目录,按照包名结构放置各个Java文件。
         

  • /WEB-INF/database.properties
          数据库配置文件,包括链接数据库最主要的四个参数
         

  • /WEB-INF/tags/
          存放了自定义标签文件,该目录并不一定为 tags,可以根据自己的喜好和习惯为自己的标签文件库命名,当使用自定义的标签文件库名称时,在使用标签文件时就必须声明正确的标签文件库路径。例如:当自定义标签文件库名称为 simpleTags 时,在使用 simpleTags 目录下的标签文件时,就必须在 jsp 文件头声明为:<%@ taglibprefix="tags" tagdir="/WEB-INF /simpleTags" % >。
         

  • /WEB-INF/jsp/jsp
          1.2 以下版本的文件存放位置。改目录没有特定的声明,同样,可以根据自己的喜好与习惯来命名。此目录主要存放的是 jsp 1.2 以下版本的文件,为区分 jsp 2.0 文件,通常使用 jsp 命名,当然你也可以命名为 jspOldEdition 。

         

  • WEB-INF/jsp2/
         与 jsp 文件目录相比,该目录下主要存放 Jsp 2.0 以下版本的文件,当然,它也是可以任意命名的,同样为区别 Jsp 1.2以下版本的文件目录,通常才命名为 jsp2。
         

  • META-INF
          相当于一个信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序、扩展程序、类加载器和服务manifest.mf文件,在用jar打包时自动生成。

         

    遇到的bug:

  • 在浏览器打开项目发现有的静态资源能加载,有的却显示404

      可能是由于浏览器缓存导致,其实是你所有的文件都没有加载出来(原因就可能是因为WEB-INF对资源的保护),但是你在之前运行过该项目,导致浏览器缓存了你的资源文件,但是有部分是你新加的,或者其他的,导致浏览器从缓存里面读取,遇到新加载的文件就404,获取不到!

     
     
访问路径要查看清楚,对照你项目的路径来书写访问路径,否则也会出现404