Java Web 项目目录规范
一、项目结构
这里和其他项目区别不大,我将模板抽离出来,更容易分析和理解:

解释一下:js主要包括extends(引入第三方的js)、module(项目模块自己的js)、lib(引用包,这里也可以继续拆分),module中包含具体的模块中的js。common.js是核心命名空间的js.
二、common.js

解释一下,Globals作为全局命名空间,各个模块均可以在此命名空间里定义域(如果有不明白的可以自学下命名空间,这个文件写死就行,也不用具体理解)。
华东web项目工程规范
基于Java开发平台开发业务系统,建议使用maven作为构建工具,以方便不同组件和依赖包的管理。客户现场开发的情况,访问Maven仓库确实困难的,可事先将依赖关系以Release的方式下载到一个集中的目录,然后使用Ant对工程进行构建。
程序目录结构应遵从maven默认约定(即使采用ANT构建),以统一规范,简化构建配置。一个典型的JavaEE应用(对应公司某产品、或某个项目的程序),目录结构如下:

大型项目应划分多个工程(project,模块),每个工程的目录结构也同样遵从相同约定。
各目录的内容/用途如下:
|
目录 |
用途 |
|
src/main/java |
Application |
|
src/main/flex |
增加:flex源码,包含mxml定义、assets和as脚本 |
|
src/main/resources |
Application/Library |
|
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 |
|
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标签库定义文件存放目录 |
Java Web 项目目录规范的更多相关文章
- JAVA WEB项目目录结构以及web应用部署的根目录,编译路径和项目根目录的区别
本文链接:https://blog.csdn.net/l00149133/article/details/78984083 web应用部署的根目录,编译路径和项目的根目录有什么区别? 直接上例子: 你 ...
- Java Web 项目目录结构
为了使 Web 容器顺利地执行 Web 应用,开发者需要以一种标准的方式将 Web 项目中的资源(Servlets.JSP 等)打包.一个 Web 项目的目录结构可分为两种: 发布目录结构 Web 容 ...
- idea中的java web项目(添加jar包介绍)和java maven web项目目录结构
java web项目 web项目下web根目录名称是可以更改的 idea中新建java web项目,默认src为Sources Root,当然也可以手动改,在Sources Root下右键只能新建Pa ...
- 全网最详细的Eclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(图文详解)
不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在Myeclipse里,则是File -> new -> ...
- web项目目录结构
eclipse web项目目录结构 按照 Java EE 规范的规定,一个典型的 Web 应用程序有四个部分: 1. 公开目录 ; 2. WEB-INF/web.xml 文件,发布描述符(必选) ; ...
- java web项目答辩答辩题总结(书本网上语言答辩+自己的语言答辩)
答辩每个人的总分为1.5分.每个人主要问3个问题. 开发流程===>系统架构====>项目模块+功能===>项目得失重定向与转发:?九个隐式对象?get与post的区辨:?jsp有静 ...
- Java Web系列:Java Web 项目基础
1.Java Web 模块结构 JSP文件和AXPX文件类似,路径和URL一一对应,都会被动态编译为单独class.Java Web和ASP.NET的核心是分别是Servlet和IHttpHandle ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- Eclipse 的 Java Web 项目环境搭建
从svn上拉取下来Eclipse的项目 IntelliJ IDEA自动识别到可编译的 src 类目录 Java Web 项目 html(一般命名为:WebRoot) 是整个项目输出的根目录. WEB- ...
随机推荐
- UI第十九节——UICollectionView
UICollectionView其实就是UITableView的升级版,在布局方面比UITableView更出色.下面,先看代码吧 #import "RootViewController.h ...
- CSS3使用Font Awesome字体图标的控件样例(按钮,工具栏,输入框)
按钮上加入font awesome图标,用原生的input button标签无法实现,查看网上的只能通过<a><li></li></a>实现此功能,通过 ...
- iOS动态部署之RSA加密传输Patch补丁
概要:这一篇博客主要说明下iOS客户端动态部署方案中,patch(补丁)是如何比较安全的加载到客户端中. 在整个过程中,需要使用RSA来加密(你可以选择其它的非对称加密算法),MD5来做校验(同样,你 ...
- 解决eclipse编辑js和html卡的问题
window -> Preference -> General -> Editors -> Text Editors -> HyperLinking -> 取消勾 ...
- SecureCRT中设置 \n 为回车换行,和 \r\n 的行为一致
勾上途中红框的选项即可
- IE浏览器下异步请求的缓存问题
问题: 在做即时通讯时,需要提示用户有几条未读的提醒,这个是(如果有新的提示消息立马在浏览器无刷新提示)即时获取的.但我们的做法是,当用户点击未读信息进入到信息显示页面时重新获取下未读的提醒:但是在I ...
- JSON中eval与parse的区别
json的的解析方法 (非原创) json的解析方法共有两种:eval_r() 和 JSON.parse(),使用方法如下: var jsonData = '{"data1":&q ...
- JS 格式化当前时间
Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+& ...
- liniux mint android-ndk风波
我的安装过程sudo chmod a+x android-ndk-r10d-linux-x86_64.bin/dowonload $ ./android-ndk-r10d-linux-x86_64.b ...
- 【Tomcat】解决Eclipse无法添加Tomcat Service问题
直接上图:今天因为弄Maven的时候,不小心把Tomcat7 Service 给弄没了,没法直接添加. 可以参照上图的结构进行 Download and Install...点击之后等待一会儿. 其实 ...