(完整word版)Web应用开发规范_第1页
(完整word版)Web应用开发规范_第2页
(完整word版)Web应用开发规范_第3页
(完整word版)Web应用开发规范_第4页
(完整word版)Web应用开发规范_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、色中航国际金网公司AVICIFPreferences-General-Workspace,右侧的Textfileencoding中从other中选择UTF-8。(2)、资源文件采用ISO-8859-1编码。(3)、.java、.jsp、.cs球.js等文件采用UTF-8作为文件默认编码。其他文件,【推荐】采用UTF-8作为文件默认编码。Eclipse中的设置方式:Window-Preferences-General-ContentTypes,点击右侧的Text下的JavaSourceFile,在Defaultencoding中输入UTF-8,保存。2.目录结构规范WebZ用Isrc/main/

2、java1cn.eavic.工程名小I模块名小Iaction存放action类Idao存放dao类Ientity存放实体类1service存放Service接口1impl存放Service实现Isrc/main/resource存放该web应用所需的资源文件和配置文件Isrc/main/test存放service类的单元测试类|doc存放该web用相关的一些文件IdbI工作计划技术文档Web应用开发规范-5-需求文档WebRoot色中航国际金网公司Web应用开发规范-6-a中航国际金网公司|common存放该应用的通用jsp(403.jsp、404.jsp、500.jsp、meta.jsp、t

3、aglib.jsp)Icss存放该应用的css样式文件Ijs存放该应用的js脚本文件Iimages存放该应用的图片文件WEB-INF卜content存放各个功能模块的jsp页面Lweb.xml应用的web.xml1pom.xml3.编程规范Web应用主要分如下几层:url访问、JSP中form提交、ajax调用Dao层数据库资源、配置文件src/main/resource中存放资源文件、配置文件等。Web应用开发规范-7-资源文件:(1)、资源文件的命名:资源文件命名如下:自定义名称语种国家.properties例如:色中航国际金网公司Web应用开发规范-8-globalMessages_en

4、_US.properties。(英文)globalMessages_zh_CN.properties。(中文)(2)、资源文件内部条目的命名原则:全部是小写字母。用圆点分割的三个部分组成:功能模块名.类别.自定义部分,针对每一个部分,若是由多个单词组成,则用下划线进行分割。其中“类别”部分的内容如下:?菜单相关:menu?标题相关:title?按钮显示文字相关:button?提示文字相关:alert?警告文字相关:warn?确认文字相关:confirm?消息文字相关:message?属性字段相关的定义:field?验证相关的定义:validate?其他很难归类的定义:label示例:syste

5、m.field.last_update_date=最后更改时间。配置文件:指Spring配置文件、acegi配置文件、struts配置文件、数据库链接池配置文件等。Spring配置文件的命名为:applicationContext|_自定义部分.xml。acegi配置文件的命名为:applicationContext_security.xml。struts配置文件的命名为:struts.xml。数据库链接池配置文件的命名为:proxool.xml。Doc 文档存放本web应用相关的文档,根据项目情况,工作计划、数据库、需求等有变化时,要求做到文档同步更新。(1)、doc/db:必须要有db.c

6、hangelog.txt文档,其内容为:数据库创建SQL,后期变更记录,按照时间正序排放,参考如下样例:G中航国际金网公司AVIChTJWTimN-HC.Web应用开发规范/*创建数据库SQL人员:xxx日期:2009-10-01*/createtableUSERS(PASSWORDvarchar(20),NAMEvarchar(20),EMAILvarchar(30);createtableROLES(NAMEvarchar(20)notnullunique);/*人员:xxx日期:2009-10-01altertablexaddcolumnyvarchar(1000)defaultnull

7、;/*实体:x.java数据表名:x人员:xxx操作:修改记录对原有数据是否有影响:是日期:2009-10-23*fupdatexsety=001whereid=334323updatexsety=002whereid=355431updatexsety=006whereid=321114updatexsety=008whereid=543233(2)doc/技术文档:存放开发规范及本应用所需技术帮助参考等。(3)doc/开发计划:存放本web应用的开发计划。(4)doc/需求文档:存放本web应用的需求文档。实体映射数据库中的表,并在各层之间传递数据。(1)、采用注解的方式来进行映射该实体和

8、数据库表。(2)、必须继承自公司框架的cn.eavic.framework.entity.BaseEntity类。(3)、实体的命名要接近或等价于数据库表名,名称中具有面向对象的特点。(4)、类定义时,必须添加Entity、SequenceGenerator、Table、Cachel签。IDintegerprimarykeyGENERATEDALWAYSASIDENTITYLOGIN_NAMEvarchar(20)notnulluniqueIDintegerprimarykeyGENERATEDALWAYSASIDENTITY实体:x.java数据表名:x操作:新增字段对原有数据是否有影响:无

9、*/G中航国际金网公司AVIChTJWTimN-HC.Web应用开发规范(5)、各成员的排放顺序为:成员属性。属性的set、get方法。自定义方法。重载自Object的方法如toString(),hashCode(),equals()。-7-网公司Web应用开发规范-11-(6)、属性定义时,加/注释,其中包含其中文含义,字段的类型及长度;若有必要的话也要描述其常量取值范围。(7)、常用annotation注解及其使用规范,参见annotation使用规范.doc。Dao负责数据库操作,完成实体的保存、读取等。所有的数据库操作都在这层完成,不允许在其他层进行数据库操作(1)、类定义时,必须添加

10、Repository标签。(2)、必须继承自公司框架中的cn.eavic.framework.orm.hibernate.GenericDao类。该基类中已定义了基本的增、删、改、查操作,能满足大部分需求。(3)、对于方法的命名:常用方法按照如下统一命名:参照GenericDao中的方法命名。get(PKid):读取指定ID的实体。save(Tentity):保存指定实体。delete(-):删除实体。find(-)、findAll(-)、findPage(-):查找。其余方法根据情况自定,但是必须满足代码书写基础规范.doc中所定义的方法的命名规范。Service业务处理层,负责业务处理过程

11、,通过Transactional标签添加了事务处理能力,每个方法都是事务控制的,若子方法还未开启事务,则spring自动开启事务,若父方法(调用方)已存在事务,则spring自动接管该事务。(1)、接口:必须继承自公司框架的cn.eavic.framework.service.GenericManager接口。接口的命名方式:实体名+Manager,例如:UserManager。(2)、实现类:必须继承自公司框架的cn.eavic.framework.service.impl.GenericManagerImpl类。实现类的命名方式:实体名+ManagerImpl,例如:UserManager

12、Impl。必须放于子包impl中。(3)、实现类定义时,必须添加Service和Transactional标签。(4)、通过Autowired自动注入相应的dao。(5)、优先使用基类提供的方法完成操作。(6)、对数据库的操作,要交给dao层完成。(7)、必须对传入的参数进行合法性验证。(8)、对于具有事务特点的业务处理过程,必须放在一个方法中来执行。Web应用开发规范-12-角中航AWCIMTOMTKKM.E-SUServicelService2Service3(9)、对于仅查询而不修改数据的方法(即不参与数据库的修改),建议在方法定义上添加Transactional(readOnly=tr

13、ue)标签。(10)、是否采用接口开发,根据项目情况由项目架构师决定。(11)、方法的命名:常用方法按照如下统一命名:getXXX(.):获得某实体。示例:getUser(Longid)。findXXX(.):根据条件获得实体列表。deleteXXX(.):删除某实体。saveXXX(.):保存某实体。其余方法参照上面常规方法命名,并且要满足代码书写基础规范.doc中定义的方法的命名规范。(12)、常用annotation注解及其使用规范,参见annotation使用规范.docAction(1)、命名规范:实体名+Action,例如UserAction。(2)、若action是“增、删、改、

14、查”型,则必须继承自公司基础框架的抽象类:cn.eavic.framework.web.BaseAction。并且必须实现BaseAction的抽象方法:list()、prepareModel()、input()、delete()、save()。(3)、命名空间Namespace定义:根据项目和模块实际情况进行定义。(4)、方法的命名:常用方法按照如下统一命名:list():进入列表。际金网公司图中红色表示已经处于同一个事务处理中O色中航国际金网公司Web应用开发规范-13-prepareModel():进入input()和save()方法之前,且ongl封装数据前进入的方法。可根据实际情况拆

15、分成preporeInput()、preporeSave()方法分别表示进入input()和save()前执行的方法。input():进入编辑、查看页面。save():新增、修改后的保存。delete():执行删除。batchDelete():批量删除。其余方法根据代码书写基础规范.doc中定义的方法的命名规范来命名。(5)、采用Convention插件实现零配置文件。Convention的使用方法,参见公司wiki:中文:14/wiki/index.php/Convention%E4%BB%8B%E7%BB%8D英文:http:/192.168.102.

16、114/wiki/index.php/Convention_Plugin(6)、所用到的service,必须通过Autowired自动注入。(7)、若有分页,贝UPage定义为默认10行。(8)、关于异常处理,参见本文档第4部分“异常处理规范”部分。JSP(1)、WebRoot/common文件夹中存放的jsp为通用jsp,例如:403.jsp、404.jsp、500.jsp、meta.jsp、taglibs.jsp等。(2)、jsp页面中的meta部分,通过引入meta.jsp完成。(3)、jsp页面中的标签(s、c、e等标签),统一放入taglibs.jsp。(4)、异常页面应该设计成具有

17、友好提示、隐藏异常细节的页面。(5)、javascript脚本尽量不直接写在jsp文件中,而是写入相应的js文件,并引入它。(6)、页面中尽量采用标签的方式,而不是使用!方式。(7)、jsp中的js和css文件和图片文件的引用路径、action路径等必须为绝对路径,而非相对路径,例如:link/-iscript-iscriptsrcsrc= =r r3 3cc/JS/J.js.js,r,rtype=type=FFFFt te eJTJdjtdjti i全局网站根目录fonsr.ane,rjnr*utFojjsacij|/E:JF”:Jjkku凸一”挡丁冷已?.口=4渺tietI全局网站根目录命

18、含空间Action名称及调用方法(8)、文件命名规则:全部是小写字母,单词间加横杠分割。色中航国际金网公司Web应用开发规范-14-列表页面为action前缀名称。示例:若action的名称为AccompanyApplyAction,则列表页名称为accompany-apply.jsp录入、编辑页面为action前缀名称+横杠+input。示例:若action的名称为AccompanyApplyAction,则录入、编辑页名称为accompany-apply-input.jsp际金网公司Web应用开发规范-15-其他页面跟action中所执行方法的return字符串有关,只要保持一致即示例:若action的名称为AccompanyApplyAction,部分内容为:publicStringview()throwsException(returnview-detail则程序执行完view方法后所进入的jsp页面为accompany-apply-view-detail.jsp。css本应用所用样式统一放入css.css羊式文件,jsp中不建议另写样式。可根据实际情况有多个css样式文件。js不鼓励在jsp页面中直接写javascript脚本,除非必要,尽量将通用的脚本放入js.js文件中,不同模块所用的js文件可以独立成js文件。4.异常处理规范(1)、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论