以下是mavaen推荐的项目目录.

├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── group
    │   │       ├── controller
    │   │       │   ├── HomeController.java
    │   │       │   └── PersonController.java
    │   │       ├── dao
    │   │       │   └── PersonDao.java
    │   │       └── model
    │   │           └── Person.java
    │   ├── resources
    │   │   ├── db.properties
    │   │   ├── log4j.xml
    │   │   └── META-INF
    │   │       └── persistence.xml
    │   └── webapp
    │       ├── index.html
    │       ├── META-INF
    │       │   ├── context.xml
    │       │   └── MANIFEST.MF
    │       ├── resources
    │       │   └── css
    │       │       └── screen.css
    │       └── WEB-INF
    │           ├── spring
    │           │   ├── app
    │           │   │   ├── controllers.xml
    │           │   │   └── servlet-context.xml
    │           │   ├── db.xml
    │           │   └── root-context.xml
    │           ├── views
    │           │   ├── edit.jsp
    │           │   ├── home.jsp
    │           │   └── list.jsp
    │           └── web.xml
    └── test
        ├── java
        │   └── group
        │       ├── controller
        │       │   ├── DataInitializer.java
        │       │   ├── HomeControllerTest.java
        │       │   └── PersonControllerTest.java
        │       └── dao
        │           └── PersonDaoTest.java
        └── resources
            ├── db.properties
            ├── log4j.xml
            ├── test-context.xml
            └── test-db.xml

Java web工程下的webapp或WebContent就是工程的发布文件夹,发布时会把该文件夹发布到tomcat的webapps里。

开发时classes文件存放路径:

buildpath:在eclipse中项目的右键Java/build path-source中指定工程中class文件的编译路径,一般为:test/build/classes。(test是工程名)

发布时classes文件存放路径:

发布到tomcat时(在eclipse里启动tomcat),src文件夹里的java文件经过编译后,会把.class文件放在WEB-INF文件夹里的classes文件夹中。

有一些配置文件需要放到WEB-INF的classes文件夹下,所以,通常的做法是手动在工程的WEB-INF文件夹下建立classes文件夹。如果不在工程的WEB-INF下手动建立classes,发布到tomcat时tomcat里的WEB-INF中也会有classes文件夹。

关于jar

【Web App Libraries】 一般是指向web工程的 WEB-INF/lib下的包(可以将包copy到此目录下 然后刷新工程 加入的包一般可以自动找到 如果找不到 右键|Properties |Java Build Path|Libraries |Add JARs 可以加入)

build path中add jar可以引用工程文件夹以外的jar,如果引用了工程以外的jar,在.classpath文件中会添加(如java的jar包jre和tomcat的jar包):
    <classpathentry kind="lib" path="D:/workspace/ojdbc14.jar"/>
web-info/lib中的jar不会往.classpath文件中会添加, 其余两者没有区别,编译的时候先找classpath中的jar如果没有则找web-info/lib中的jar。

web工程参照了很多文件,因此发布的时候要打成war包,使其变成单独的个体,放到web容器里。
开发环境中eclise会将工程打包放到tomcat下,进行关联。

1.工程目录:

2.发布后的tomcat目录:

 

基于Java开发平台开发业务系统,建议使用maven作为构建工具,以方便不同组件和依赖包的管理。客户现场开发的情况,访问Maven仓库确实困难的,可事先将依赖关系以Release的方式下载到一个集中的目录,然后使用Ant对工程进行构建。

程序目录结构应遵从maven默认约定(即使采用ANT构建),以统一规范,简化构建配置。一个典型的JavaEE应用(对应公司某产品、或某个项目的程序),目录结构如下:

大型项目应划分多个工程(project,模块),每个工程的目录结构也同样遵从相同约定。

各目录的内容/用途如下:

目录

用途

src/main/java

Application /Library 的java源代码(再分package)

src/main/flex

增加:flex源码,包含mxml定义、assets和as脚本

src/main/resources

Application/Library 的资源文件,如多字符集boundle,位图,配置文件等(单独建立conf等子目录)

src/main/resources/conf

增加:准备封到JAR包中的配置文件(默认包下conf/目录)

src/main/filters

【暂不用】Resource filter files

src/main/assembly

【暂不用】Assembly descriptors

src/main/config

【暂不用】maven配置文件

src/main/webapps

Web 应用的网页,WEB-INF目录等所在,详见本表下方说明

src/test/java

单元测试的源代码

src/test/resources

测试使用的资源文件,如集成测试脚本等

src/test/resources/conf

增加:测试用例需要的配置文件

src/test/filters

【暂不用】Test resource filter files

src/site

【暂不用】Site

target

maven编译目录,包含中间过程文件和最终的工件(如jar)

pom.xml

Maven工程的配置文件,以此控制maven构建行为

LICENSE.txt

产品/本工程的版权信息文件

README.txt

产品/本工程的说明文件

为规范war包结构,对src\main\webapp目录做如下约定:

目录

存放内容

css

存放.css格式文件(可再分目录)

skins

存放皮肤文件(按主题划分的framework的位图)

images

存放图片,按产品、功能模块划分子目录

js

JavaScript文件(对象、函数库)

include

存放被包含的JS文件片段【注:JSP文件互相不要包含,通过模板/组件/标签库/BEAN实现重用】

resources

存放JSF组件、相关资源等

templates

模板文件存放地,按类别划分子目录

pages

网页目录(静态和动态网页,除index.jsp),按产品、功能模块划分子目录

webapp下其他目录

解释为模块名,认为其中全部为网页,可再分子目录

META-INF

存放清单文件、services等配置信息

WEB-INF

网站配置文件目录,存放WEB.XML等配置信息

WEB-INF/classes

未打包的项目编译代码,禁止手工修改。

WEB-INF/conf

存放struts,spring,hibernate,JSF等的配置文件

WEB-INF/lib

存放第三方JAR包,使用MAVEN构建时此目录禁止手动放入文件!

WEB-INF/pages

高安全性的网页目录,如登录信息维护等

WEB-INF/tld

JSP标签库定义文件存放目录

 一、Struts2+Spring+Hibernate 项目的文档结构


    • 二、Spring MVC+MyBatis项目的文档结构


      三、Tomcat文档目录结构

JavaWeb工程 目录结构***的更多相关文章

  1. [转]JavaWeb工程 目录结构

    今天为此事纠结了一段时间. 以下是mavaen推荐的项目目录. ├── pom.xml └── src     ├── main     │   ├── java     │   │   └── my ...

  2. 基础知识(javaWeb工程目录结构)及各文件夹的作用

    在Eclipse中只要创建一个Dynamic Web Project,就可以根据创建向导创建出一个典型Java Web站点的目录结构.除非有特殊需要,在大多数情况下都没有必要修改这个目录结构,这也是W ...

  3. JavaWeb项目目录结构

    今天本来是准备学习spring mvc + mybatis,结果被idea的配置环境卡主了,自己刚刚接触JavaWeb不久,所以浪费了很多时间.最终我回归最简单的servlet & jsp,并 ...

  4. IOS的工程目录结构和生命周期

    IOS的工程目录结构和生命周期 ·simple table文件夹:工程相关源代码和配置文件 BIDAppDelegate :    委托的声明和实现 BIDViewController:    视图控 ...

  5. Android工程目录结构

    ----------siwuxie095 首先创建一个简单的项目:MainActivity 工程目录结构一览: 工程目录结构介绍: 1.manifests目录 里面有一个AndroidManifest ...

  6. Ionic 3 项目的工程目录结构(转载)

    工程目录结构说明如下图

  7. Django工程目录结构优化

    1.我看到这篇文章,写的不错,在此复制了一份,防止以后找不到! 感谢作者的翻译--->原文的链接:http://www.loonapp.com/blog/11/ 如果原文存在,请打开原文件阅读 ...

  8. Java Web工程目录结构

    说明 介绍java web 工程的基本结构目录.记录java web 工程结构的学习. Java web 结构 java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构 ...

  9. 转:基于Maven管理的JavaWeb项目目录结构参考

    通常在创建JavaWeb项目时多多少少都会遵循一些既定的比较通用的目录结构,下面分享一张基于Maven管理的JavaWeb项目目录结构参考图: 上图仅是参考,不同项目不同团队都有自己的约定和规范. 个 ...

随机推荐

  1. 如何利用Power BI 制作动态搜索界面

    最近Power BI有了最新更新,想着利用 Power BI 工具制造一个动态的搜索界面,比如动态切换搜索引擎,分别从百度.360.搜狗等搜索苹果最新新闻.通过一番测试,最终实现了相关功能. 数据加载 ...

  2. C#读取文件夹下所有指定类型,并返回相应类型数据

    C#读取文件夹下所有文件 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心 ...

  3. BFS模板

    bool visit[maxn];///访问标记 ,,,,-,,-,}; ///向左上右下,左下,右上,右下,左上 ,,,-,-,,,-}; struct node { int r; int c; i ...

  4. Linux使用sshfs挂载远程目录到本地

    1安装sshfs [root@iZwz9hy7gff0kpg1swp1d3Z ~]# yum install sshfs 2创建本地目录 [root@iZwz9hy7gff0kpg1swp1d3Z ~ ...

  5. opencv学习记录

    #include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui ...

  6. django BBS project login登录功能实现

    1.models from django.db import models # Create your models here. from django.contrib.auth.models imp ...

  7. (21)模型层 -ORM之msql 聚合查询,F和Q(与、或、非查询)、分组查询

    什么是聚合查询,就是使用聚合函数做计算 from django.db.models import Count,Avg,Max,Min   #聚合函数要从模块中导入 from django.db.mod ...

  8. 不输入密码执行sudo 命令

    命令行执行的crontab 命令,但是需要包含sudo 才可以执行的命令,怎么办呢?见下: leo@leo-Ubuntu:/etc$ visudovisudo: /etc/sudoers: 权限不够v ...

  9. linux解压缩命令之unzip,tar(持续更新)

    unzip apache-tomcat-7.0.78.zip -d /usr/local/src/ 解压zip压缩包到/usr/local/src,-d就是指定解压路径的意思

  10. Java中的包学习笔记

    一.总结 1.引入包的概念的原因和包的作用比如有多个人开发一个大型程序,A定义了一个Math.java类,B也定义了一个Math.java类,它们放在不同目录,使用的时候也是用目录来区分,包实际上就是 ...