最近公司有个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目录中,简化配置难度。

作者:sdjnzqr
出处:http://www.cnblogs.com/sdjnzqr/
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

Eclipse中创建标准web工程以及标准目录结构说明的更多相关文章

  1. 在Eclipse中创建Dynamic Web Project具有和MyEclipse中Web Project一样的目录结构

    1.在Eclipse中新建Dynamic Web Project 1.1.修改default output folder build\classes修改为:WebRoot\WEB-INF\classe ...

  2. eclipse 中创建maven web项目

    Maven的Eclipse插件m2eclipse在线安装地址 http://m2eclipse.sonatype.org/sites/m2e:我又试了link方式安装也没什么作用,不知怎么回事? 还有 ...

  3. 8.Eclipse中创建Maven Web项目

     第一步: 创建maven webproject 注意以下一步: 第二步: 继承parent 改动pom.xml文件例如以下 <projectxmlns="http://maven ...

  4. 3.eclipse中 maven打包web工程几种方式

    1.右键项目-export 选择war file导出即可 2.第二种:右键项目-RUN AS -maven build..goals填入:clean package 第三种方式:右键项目.选择Debu ...

  5. JavaWeb学习(三) : 如何在 Eclipse 中创建一个Web 项目并成功运行?

    前置条件 : 1.确保已安装 Eclipse.Tomcat 服务器安装包 2.jdk.环境变量都已配置成功. 3.注意在安装 Eclipse 时一定要选择第二个有 Web 项目的进行安装, 不然安装成 ...

  6. eclipse中创建maven web项目

    本文主要说明将maven web项目转成eclipse支持的web项目. 创建一个maven项目设置打包类型为war则其为web项目 结构如下 将mavenweb项目转成eclipse识别的web项目 ...

  7. eclipse中创建了web项目,src下创建子目录是平级的情况

    1.在以下可设置不同的视图 windows->show view菜单 ->点Other......    然后在搜索框里输入你想要的视图 2.在Project Explorer下创建的包看 ...

  8. 使用eclipse创建在myeclipse中运行的web工程

    今天在跟随慕课网学习java时,遇到课程中老师使用Myeclipse,我用的是eclipse,那么就使用eclipse创建在Myeclipse项目 参考: 如何在Eclipse配置Tomcat服务器 ...

  9. 使用Eclipse创建Maven Web工程

    方法/步骤 1 使用Eclipse创建Maven Web工程 2 找到Maven Project,点击Next 3 勾选上Create a simple project (不使用骨架),Next 4 ...

随机推荐

  1. T-SQL openquery 删除报错 “键列信息不足或不正确。更新影响到多行”

    DELETE OPENQUERY (VERYEAST_MAIN_MYSQL_CONN, 'SELECT college_userid FROM college_student_information ...

  2. C#反射技术的简单操作(读取和设置类的属性)

    public class A { public int Property1 { get; set; } } static void Main(){ A aa = new A(); Type type ...

  3. File.Create创建文件后,需要释放资源

    if (!File.Exists(SavePath)) { File.Create(SavePath).Close(); }

  4. 全选按钮的设定和POST处理当前循环的列表

    以下为全选按钮的代码,通过class实现. //全选按钮 $(function () { $("#selectall").change(function () { var isch ...

  5. AMQ学习笔记 - 18. 持久化的测试

    概述 对持久化的有效性进行测试. 测试实例 测试实例 结果预测 持久化递送 重启ActiveMQ后,消息还在队列中 非持久化递送 重启ActiveMQ后,消息不在队列中 demo设计 jms-prod ...

  6. UNIX 信号基本概念

    1. 信号的基本概念 为了理解信号,先从我们最熟悉的场景说起: 用户输入命令,在Shell下启动一个前台进程. 用户按下Ctrl-C,这个键盘输入产生一个硬件中断. 如果CPU当前正在执行这个进程的代 ...

  7. 分享9款极具创意的HTML5/CSS3进度条动画

    1.HTML5/CSS3图片加载进度条 可切换多主题 今天要分享的这款HTML5/CSS3进度条模拟了真实的图片加载场景,插件会默认去从服务器下载几张比较大的图片,然后让该进度条展现当前读取图片的进度 ...

  8. QT 信号与槽连接

    转帖 http://www.cnblogs.com/cnhome/archive/2009/10/01/1577277.html 信号(SIGNAL)和槽(SLOT)是Qt编程的一个重要部分.这个机制 ...

  9. 《DNS的正向反向解析》RHEL6

    DNS的正向解析: Iptables –F Setenforce 0 安装DNS服务器的软件包: 启动DNS服务器: 修改DNS的配置文件:vim /etc/named.conf 修改DNS的配置:( ...

  10. 3.servlet实现页面的跳转

    效果: 在网页的输入框中输入lily,跳到成功的页面(请求转发),输入的不是lily则跳到百度的页面(跳到工程之外的页面,则是请求重定向) 1.建Web project“2Servlet_Basic” ...