博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Web工程目录结构
阅读量:7232 次
发布时间:2019-06-29

本文共 2530 字,大约阅读时间需要 8 分钟。

说明

介绍java web 工程的基本结构目录。记录java web 工程结构的学习。

Java web 结构

java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构。工程发布目录结构结构,为servlet容器加载web应用的统一标准目录,而工程编译目录结构是为了方便工程编写、修改的临时结构,需要通过工程构建工具(ant,maven,gradle等)编译生成最终的运行时发布结构。因此,工程编译目录结构并不统一,与所使用的编译工具有关(也和配置有关)。

工程发布结构

这个也是最终的工程目录结构,结构示意如下:

-helloapp -index.html -othersDirs  -*.html  -*.css  -*.png  - ...... -WEB-INF  -web.xml  -classes   -pakageName    -*.class  -lib  -otherConfigfile -META-INF  -MANIFEST.MF

如上,一般可以将其分为以下几个部分内容:

  • 静态文件资源

静态文件资源包括需要访问的jsp、html、css、js、png、ico、gif、conf配置文件等,可以将其放在任意位置,一般默认是防止主目录下,访问后缀路径为文件相对主目录路径。如上,index.html的相对访问路径为:/index.html ,绝对访问路径为: .

  • 工程配置文件(部署描述符文件)

即是java web 项目最主要的构成部分之一:web.xml.其对应位置如上放在WEB-INF的根目录下。用于配置工程的一些基本配置。如,访问控制配置、默认访问配置、过滤配置、时间监听等。其基本格式如下所示:

helloapp
key
value
login.html
index.htm
index.jsp
default.html
default.htm
default.jsp
dispatcher
mypack.DispatcherServlet
dispatcher
/dispatcher
  • 依赖,可执行文件

这是java web 应用的核心部分了,主要用于实现web 应用的动态创建逻辑、动态响应的功能,为java的具体实现部分,主要分成两个部分分布:一个是WEB-INF/lib/*.jar,为当前应用需要使用的依赖jar包,另一个为WEB-INF/classes/…/*.class文件,为web工程编译生成的class文件,查找顺序为先查找lib目录下的*.jar文件,然后查找classes/…/*.class文件.

  • web 版本信息等

这个是生成发布版本时根据配置自动生成的配置信息,再META-INF/MANIFEST.MF.

工程编译目录结构

这里主要介绍两种目录结构:一个是eclipse默认创建的动态web应用结构,一个是maven构建的工程目录结构。

  1. Dynamic Web Project结构

eclipse默认动态结构如下所示:

helloapp-src -packageName  -*.java-WebContent  -META-INF   -MANIFEST.MF  -WEB-INF   -web.xml   -lib    -*.jar

如上,主要分为两个部分:src对应的具体java逻辑实现部分;WebContent对应依赖、工程配置、静态文件部分,默认WebContent根目录对应于发布工程根目录,具体的目录结构对应关系可以通过:

projectName(右键) ——>Properties——>DeployMent Assembly

查看,也可以在此自定义修改对应关系(需谨慎).

  1. Maven工程结构

maven结构比较方便web应用的构建,对于依赖、配置等比较方便。如下,为其基本的工程结构:

helloapp-src -main  -java   -pacakgename    -*.class  -resources   -configfile  -webapp   -index.html   -login.jsp   -othersFolders   -WEB-INF    -web.xml-target -generated-files-pom.xml

其默认部署对应关系如下:

source Deploy Path
src/main/java WEB-INF/classes
src/main/resources WEB-INF/classes
src/main/webapp /
src/main/webapp/WEB-INF/WEB-INF WEB-INF/web.xml
maven Dependencies WEB-INF/lib

其中pom.xml主要是用来配置工程依赖和编译、发布等版本的控制的。

转载于:https://www.cnblogs.com/amiko/p/7906215.html

你可能感兴趣的文章
AngularJs的UI组件ui-Bootstrap分享(四)——Datepicker Popup
查看>>
Java虚拟机------垃圾收集器
查看>>
UVA 1376 Animal Run 最短路
查看>>
oracle12c之 单机12.1.0.1打补丁
查看>>
封装了集中常用的文件读的方法
查看>>
51Nod-1080 两个数的平方和【暴力法】
查看>>
Web开发实用网站资源
查看>>
“深入理解”—交换排序算法
查看>>
ng-cordova 手机拍照或从相册选择图片
查看>>
ARM 汇编指令集 特点之一:条件执行后缀
查看>>
软工第五次作业--原型设计(结对)
查看>>
优化PartialRenderFormMixin性能
查看>>
如何让代码健壮
查看>>
网页布局要点
查看>>
vs2010 VS2008 VS2005 快捷键大全
查看>>
Delphi中调用API函数Winexec执行WinRar命令行压缩工具执行压缩
查看>>
ssm(3-2)Springmvc拓展
查看>>
leetcode--Recover Binary Search Tree*
查看>>
Hdu-6230 2017CCPC-哈尔滨站 A.Palindrome Manacher 主席树
查看>>
提高javascript编码质量-68-1
查看>>