最近公司有个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. 微信公共号url地址出错,调用上次设置地址.

    开发微信公共号时总是会遇到要修改公共号里自定义菜单的地址,修改过后有些手机会重新请求错误(上次)的地址. 针对这个问题,我采用重新关注公共号.清楚公共号内容.清楚浏览器缓存的方式,前两种均不得解决,第 ...

  2. tcp 和 udp 缓冲区的默认大小及设置【转】

    1. tcp 收发缓冲区默认值 [root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem   4096    87380   4161536 ...

  3. hdu 2176 取(m)石子游戏

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2176 题意分析:给出M堆石子,两人交替取子,给出先手能否胜利. 不能输出No, 能则输出Yes并给出第 ...

  4. Codevs 2875 RY哥查字典

    时间限制: 1 s  空间限制: 16000 KB  题目等级 : 钻石 Diamond  题目描述 Description RY哥最近新买了一本字典,他十分高兴,因为这上面的单词都十分的和谐,他天天 ...

  5. bzoj2395[Balkan 2011]Timeismoney最小乘积生成树

    所谓最小乘积生成树,即对于一个无向连通图的每一条边均有两个权值xi,yi,在图中找一颗生成树,使得Σxi*Σyi取最小值. 直接处理问题较为棘手,但每条边的权值可以描述为一个二元组(xi,yi),这也 ...

  6. userscript.user.js 文件头

    // ==UserScript== // @name MyUserScript // @namespace https://github.com/MrLeo // @description users ...

  7. css透明(支持各浏览器)

    opacity: 0.4;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); -ms-filter: "progid:D ...

  8. python学习第七天

    一.        subprocess 模块 1. subprocess的介绍:用来替代几个老的模块或是函数,如:os.systam,os.popen,os.spawn*,os.popen2*,co ...

  9. Configure Log Shipping

    准备工作 两台装有的Windows Server 2012R2以及SQL Server 2012的服务器 下载评估版 Windows Server 2012 R2 下载 Microsoft SQL S ...

  10. [转]bat中的特殊字符,以及需要在bat中当做字符如何处理

    bat中的特殊字符,以及需要在bat中当做字符如何处理 批处理.Bat 中特殊符号的实际作用,Windows 批处理中特殊符号的作用: @ \\隐藏命令的回显. ~ \\在for中表示使用增强的变量扩 ...