WEB-INF目录与META-INF目录的作用

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:

所谓META-INF, 说白了就是存放一些meta information相关的文件的这么一个文件夹, 一般来说尽量不要自己手工放置文件到这个文件夹。怎么理解这句话呢?就是说这个文件夹应该被看作是JAVA工程的一个内部META目录,所以这个目录下的文件应该都是build工具来生成的。我们自己的文件应该直接放到根目录下或者其他的子目录中。

根据官方的JAR file specification(), 一个典型的META-INF目录下可能包含如下几种文件或者子目录:

  • MANIFEST.MF
  • INDEX.LIST
  • x.SF
  • x.DSA
  • services/

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

时间: 2024-09-02 23:00:25

WEB-INF目录与META-INF目录的作用的相关文章

RDIFramework.NET V2.7 Web版本升手风琴+树型目录(2级+)方法

RDIFramework.NET V2.7 Web版本升手风琴+树型目录(2级+)方法 手风琴风格在Web应用非常的普遍,越来越多的Web应用都是采用这种方式来体现各个功能模块,传统的手风琴风格只支持两级模块,当我们的功能模块多于两级时,我们一般采用树来构造功能菜单(我们的框架也提供了这种方式),但这种方式没有手风琴效果美观,因此我们采用了手风琴+树的形式来构造"手风琴+树型目录(2级+)"界面风格,以展示多级功能菜单,满足用户的要求.Web展示效果如下: 要以"手风琴+树型

提高项目的可维性:目录组织结构清晰和目录的深度不要多

不使用单一入口的框架开发,代码和目录的数量越来越臃肿,项目维护成本很高 没有反面例子来做借鉴,人的大脑不以为然.下面的截图就是一个中型项目后来变成的目录结构,项目的代码越来越乱,开发人员不愿意去维护这个系统的代码,因为去找代码进行修改,变得很痛苦,代码混乱,目录很众多,找代码会看花眼. 是一套典型是基于discuz的ucenter的系统,随着公司业务量越来越大,随着时间的推移,对系统增加的功能越来越多,后来开发人员越来越多.这样一套系统,维护起来很困难. 具体到里面代码,找代码去修改,特别吃力,

php目录下的ext目录中,执行的命令

php的目录下的ext目录,如果你只需要一个基本的扩展框架的话,执行下面的命令: ./ext_skel --extname=module_name module_name是你自己可以选择的扩展模块的名字,例如我选择的my_module.执行工具后会自动在ext目录下建立你选择的module_name名字的目录,里面已经生成了相关的代码,这些代码中只需要调整config.m4文件中的三行注释就可以正常的编译带这个自定义扩展模块的php了.在php的根目录执行下列操作就可以得到. ./buildco

为什么classes目录要放在WEB-INF目录下?

如题,今天项目运行报错 ...NoSuchBeanDefinitionException: No bean named 'shiroFilter' 异常交代的很清楚,web容器没有找到相应的bean.那么,查询后会从两个方面入手: 相应的xml配置文件有问题? 指定的bean没有发现? 然后逐一排查,和同事确认后排出第一个问题,因为同样的代码他的OK运行良好.重点就放到第二项问题了,顺着xml配置查找相应的类文件,都找到了.这下问题就头大了,配置好+文件都在,就是启动不了,难道是需要更换web容

Discuz URL伪静态版块目录化和贴子目录

首先 打开source\function下的function_core.php 找到如下代码: if($type == 'forum_forumdisplay') { list(,,, $fid, $page, $extra) = func_get_args(); $r = array( '{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid : $_G['setting']['forumkeys'][$fid], '{page}'

使用windows API函数获取目录下所有文件名---目录下文件的扫描和处理

直接上代码 // test_max.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include <Shlwapi.h> #include <iostream> #include <string> #include <vector> #pragma comment(lib,"shlwapi.lib") //注意放置的位置

linux目录结构及各目录的作用

Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图: /bin bin是binary的缩写.这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令.例如cp.ls.cat,等等. /boot 这里存放的是启动Linux时使用的一些核心文件. /dev dev是device(设备)的缩写.这个目录下是所有Linux的外部设备,其功能类似DOS下的.sys和Win下的.vxd.在Linux中设备和文件是用同种方法访问的.例如:/dev/hda

获取当前目录getcwd,设置工作目录chdir,获取目录信息

#include <unistd.h> #include <stdio.h> #include <limits.h> int main(int argc, char* argv[]) { char buf[PATH_MAX]; getcwd(buf, PATH_MAX-1); printf("the current path is :%s\n", buf); return 0; } 设置工作目录: #include <unistd.h>

linux目录架构(工作中一级目录和常见二级目录详解)

linux系统的目录结构 目录结构特点: (1)目录结构和分区设备是没有关系的,也就是不同的目录可以跨越不同的磁盘设备或分区 (2)linux的目录结构也是有规律的,而且也是按照类别组织的 (3)区分绝对路径和相对路径 目录层次标准FHS FHS linux目录定义标准 FHS定义了两成规范 第一层是"/"目录下的各个目录应该放什么文件数据 第二层是针对/usr和/var这两个目录的子目录来定义 /根目录,一级目录 逻辑上所有的目录只有一个顶端/(跟),所有目录顶点 /        

wamp的www目录更改为指定目录

wamp的www目录更改为指定目录内容简介:主要过程: (1)修改httpd.conf文件 (2)修改新的www目录下的index.php文件 (3)修改manage.ini的278行和manage.tpl的125行 我的WAMP2.0安装在E盘在,所以我的www目录是e:/wamp/www/,我想将它改为g:/www/ 第一步:就是照别人说的,修改httpd.conf文件 Do 主要过程: (1)修改httpd.conf文件 (2)修改新的www目录下的index.php文件 (3)修改man