Eclipse中创建标准web工程以及标准目录结构说明
最近公司有个Web项目,项目结构如下:
虽然运行没有错,但是实在是别扭,标准的web应用一般不采用这种结构:
因此总结一下:
1.如何在Eclipse中创建一个标准的Web应用。
2.标准Web应用推荐的目录结构。
第一:如何在Eclipse中创建一个标准的web应用:(假设项目名称为:myweb)
1)
PS:projectname一般全小写字母,最好不要出现数字和大写字母。
2)
PS:default output flolder要根据project_name修改。
3)
注意:context directory改成系统名。
4)点击finish后,生成的目录结构如下:
2.标准Web应用推荐的目录结构。(SpringMVC+mybatis+log4j的基础目录)
1)web端
- css:用来存放系统共用的css文件。
- images:用来存放系统共用的图片。
- js:用来存放系统共用的js文件。
- META-INF:用来存放war包元数据信息。
- pages:用来存放业务系统系统的页面文件,比如:html文件,jsp文件,或者JS文件(ExtJS系列)。
-common:用来存放一些非业务页面,比如top,bottom等。
-model1:业务模块名称。
- plugins:用来存放第三方插件,可以包含不同的js,swf等。
- themes:用来存放不同的主题,主题目录中可以包含对应的js,css,image等。
- WEB-INF:系统自生成。
-classes:存放java文件的编译文件
-lib:存放lib。
-web.xml:系统自生成,配置web的基础属性。
- index.html:首页页面
- login.html:登陆页面
1)服务端
说明:
首先:cn(com).【companyname】.【projectName】
1.cn(com):按照公司规则选择。
2.companyname:一般来说是公司英文简称,如果有二级部门,可以增加一层。
3.projectName:当前项目的项目名称
- cn.company.project:
- common:用来存放一些共用文件,比如GlobalNames.java等
- entity:用来存放mybatis实体声明,如果很多,可以按照子系统子模块继续分层。
- mapper:用来存放mybatisMapper类声明,如果很多,可以按照子系统子模块继续分层。
- model1:业务模块
-controller: controller类
-service:service类
- util:util类。
- sql-mappers:用来存放mybatis涉及的Mapper的xml文件,如果很多,可以按照子系统子模块继续分层。
-*-sql-mapper.xml
- applicationContext.xml:Spring的主配置文件,比如配置数据库,事务等
- jdbc.propertites:配置jdbc属性
- log4j.propertites:配置log4j
- mybatisConfig.xml:配置mybatis的主文件
- 【project_name】-context.xml:配置业务bean,比如 annotaion等配置
特殊说明:
1. entity和mapper作为单独的目录而不是在模块目录中的原因:
一般小项目中的表不会很多,而且基本上会在不同的模块中出现,所以不建议打散到各个模块中。
2.controller目录和service目录分离的原因:
controller层:用来编写代码控制层的逻辑,每个方法对应前台一个请求。
Service层:
a.真正的业务层逻辑,颗粒度小,会出现共用模块,实现代码共用。
b.在Service类中控制事务和sql。
c.便于实现客户化代码。
3.所有的配置文件放到Src目录中,简化配置难度。