快速开发J2EE应用方案.doc

上传人:叶*** 文档编号:35102106 上传时间:2022-08-20 格式:DOC 页数:22 大小:109.50KB
返回 下载 相关 举报
快速开发J2EE应用方案.doc_第1页
第1页 / 共22页
快速开发J2EE应用方案.doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《快速开发J2EE应用方案.doc》由会员分享,可在线阅读,更多相关《快速开发J2EE应用方案.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、快速开发J2EE应用方案目 录第一章 概要说明2第一节 概要说明2第二节 内容2第三节 专用语说明2第二章 方案31.1技术平台架构及分析31.1.1总体图31.1.2页面设计说明41.2项目搭建说明61.2.1项目说明61.2.2总体说明61.2.3Java源代码目录(D:DEMOmodulescomponent)71.2.4工程搭建说明71.2.5工作区命令说明71.3java编程规范81.3.1程序结构81.3.2命名规范91.3.3注释规范111.3.4声明规范131.3.5语句规范151.3.6空白使用规范181.3.7缩进规范191.4HTML编程规范201.4.1编写规范201.

2、5业务编程规范211.5.1命名规范211.5.2JavaScript库维护规则221.5.3页面元素命名规范221.5.4词根表维护规则221.5.5注释规范231.5.6书写规范231.5.7程序规范231.6编程步骤231.6.1数据库设计231.6.2搭建工作区241.6.3生成标准代码241.6.4添加BLFacade,主要为声明接口241.6.5重新生成UICommand241.6.6添加BLAction251.6.7完成BLFacade251.6.8编写JSP251.6.9编写其他25附录:JTOOLPAD26第一章 概要说明第一节 概要说明快速开发J2EE应用,是所有饱受J2E

3、E应用开发之苦的程序员和项目经理的梦想。希望本文能对他们有所帮助。作者是从最基础的Web应用程序员一步一步走过来的,开发J2EE项目中的各种痛苦与无奈也都一一体验过,基于5年来J2EE应用开发的经验和教训的总结得出本文。以下以DEMO项目为例:项目路径为D:DEMO,应用代码(web应用名)为demo第二节 内容本文档包含如下内容: 架构描述 命名规范 编码规范 编程步骤第三节 专用语说明为了便于描述,下面对文档中简略用词统一进行说明: 中科软科技股份有限公司,统一简称为“中科软科技”;第二章 方案1.1 技术平台架构及分析1.1.1 总体图图中蓝色部份表示JToolpad可以为程序员生成标准

4、的类模块。1.1.2 页面设计说明经过分析发现,对于通用功能来说,通常就包括9种标准动作:对应mon.Constants类中定义的9个常量/准备查询,即显示查询条件 public static final String PREPAREQUERY = prepareQuery; /查询 public static final String QUERY = query; /查询后继续向下翻页 public static final String QUERYCONTINUE = queryContinue; /察看结果 public static final String VIEW = view;

5、/准备新增记录,即准备显示新增页面数据 public static final String PREPAREINSERT = prepareInsert; /新增记录 public static final String INSERT = insert; /删除记录 public static final String DELETE = delete; /准备更新,即准备显示更新页面数据 public static final String PREPAREUPDATE = prepareUpdate; /更新记录 public static final String UPDATE = upda

6、te;对于一个标准功能来说,对应以上9个标准动作,为此对应四个JSP文件。如表agTask对应:l EditAgTask.jsp 新增、更新l QueryAgTaskOverview.jsp 输入查询条件l QueryAgTaskOverviewResult.jsp 分页显示查询结果,删除l ViewAgTask.jsp 查看1.2 项目搭建说明1.2.1 项目说明1.2.2 总体说明1.2.3 Java源代码目录(D:DEMOmodulescomponent)注:凡是存在domain的目录都可以存在customJava源代码中,所有*Base.java都是不允许修改的,它们由JToolpad

7、生成。写好BLFacade后,即可以利用JToolpad生成UICommand,生成的UICommand一般不用修改。如果想自己写UICommand,类名必须严格按照规则命名。如BLPrpCmainFacade的queryByPolicyNo方法,对应的UICommand为PrpCmainQueryByPolicyNoCommand。1.2.4 工程搭建说明在D:DEMOmodules目录下建立Eclipse工程,如果已有则导入即可。1.2.5 工作区命令说明在D:DEMOModules目录下存在文件build.xml,需要在Path路径中加入ant 所在目录。输入ant compile即可编

8、译。它将编译项目所有源代码,并转换所有的properties文件。1.3 java编程规范本编程规范建立在标准的Java编程规范的基础上,如和标准的Java编程规范有冲突,以本编程规范为准。1.3.1 程序结构包名引入包/类名类注释类常量/常量注释构造器注释构造器构造器注释构造器方法注释方法方法注释方法1.3.2 命名规范命名规范使得程序更易理解,可读性更强。并且能够提供函数和标识符的信息。n 文件命名规范java程序使用如下的文件名后缀:文件类型后缀Java 源文件.javaJava 字节码文件.class对系统的文件命名方式有待于根据实际业务决定。n 包命名规范包名应该唯一,它的前缀可以为

9、任何小写的ASCII字符但必须是顶级域名,目前包括com, edu, gov, mil, net, org,或者ISO标准3166,1981中两个字符的国别代码。包名接下来的部分按照公司内部的命名规范,这些规范指出了某种目录名,主要包括部门,项目,机器,或者登录名。包命名举例:com.sinosoft.reins.out.bl.facadecom.sinosoft.reins.out.dto.domainn 类命名规范类名应该是名词,并且是大小写混合的。首字母要大写。尽量保证类名简单并且描述性强。避免使用只取单词首字母的简写或者单词的缩写形式,除非缩写形式比单词的完整形式更常用(例如:URL或

10、者HTML)。类命名举例:class PolicyOverviewDTO;class CitemDTOFactory;n 接口命名规范接口命名方式与类命名方式相同。接口命名举例:interface PolicyOverview;interface PolicyOverviewSessionHome;n 方法命名规范方法名应该为动词,并且是大小写混合的。首字母要小写,方法名的第二个单词的第一个字母大写。方法命名举例:String getNoticeNo();Collection findByCondition(String)n 变量命名规范变量,以及所有的类实例应为首字母小写的大小写混合形式。变

11、量名的第二个单词的首字母大写。变量名的首字母不能为下划线或者$符。变量名应该尽可能的短小,但要有意义。变量名应该便于记忆,也就是说变量名应该尽可能的做到见名知意。除了暂时使用的变量外(一般用于循环变量),应该避免使用只有一个字母的变量名。对于临时变量一般说来:i,j,k,m,n代表整型变量。c,d,e代表字符型变量。变量命名举例:String dataType;String name;int i;char c;n 常量命名规范声明为类常量的变量或者ANSI常量应该全部为大写字母,并且每个单词间用下划线“_”隔开。为了便于调试,应避免使用ANSI常量。常量命名举例:static final in

12、t MIN_WIDTH = 4;1.3.3 注释规范Java 提供了两种类型的注释:程序注释和文档注释。程序注释是由分隔符/*/,和/ 隔开的部分,这些注释和C+ 中的注释一样。文档注释(即“doc 注释”)是Java 独有的。由分隔符/*/隔开。使用javadoc工具能够将文档注释抽取出来形成HTML文件。程序注释主要是对程序的某部分具体实现方式的注释。文档注释是对程序的描述性注释,主要是提供给不需要了解程序具体实现的开发者使用。注释应该是代码的概括性描述,提供不易直接从代码中得到的信息,并且只包含对阅读和理解程序有用的信息。例如注释中包含相应的包如何编译或者在哪个目录下,而不应该包括这个包

13、驻留在哪儿的信息。注释中可以描述一些精妙的算法和一些不易理解的设计思想,但应该避免那些在程序代码中很清楚的表达出来的信息。尽可能的避免过时的信息。错误的注释比没有注释更有害。经常性的注释有时也反映出代码质量的低下。n 程序注释程序注释有四种格式:块注释格式,单行注释,跟随注释,行尾注释 块注释格式块注释主要用于描述:文件、方法、数据结构和算法。一般在文件或者方法定义的之前使用。也可以用在方法定义里面,如果块注释放在函数或者方法定义里,它必须与它所描述的代码具有相同的缩进形式。块注释应该用一个空行开头,以便于代码部分区分开来。块注释举例:* Here is a block comment. 单行

14、注释比较短的注释可以放在一行中,但必须与它所跟随的代码有相同的缩进。如果注释不可以放在一行,那么必须按照块注释的格式来写。单行的注释会被解释为一空行。单行注释举例:if (condition) /* Handle the condition. */ 跟随注释非常短的注释可以和它所描述的代码放在同一行。但要保证代码和注释之间有足够的间隔。在同一块代码中不止一个这样的注释时它们应该对齐。跟随注释举例:if (a = 2) return TRUE; /* special case */ else return isPrime(a); /* works only for odd a */ 行尾注释注释

15、标记“/”能够注释一行或者该行由“/”开始直到行尾的部分。行尾注释不能用在多行文本注释中。但它可以将多行代码注释掉。这三种注释方法举例如下。if (foo 1) / Do a double-flip.else return false; / Explain why here./if (bar 1) / / Do a triple-flip./else/ return false;n 文档注释文档注释描述了Java类,接口,构造函数,方法和属性。每个文档注释放在文档注释符/*/中。每个类、接口或者成员只在声明的地方之前有一个文档注释。例如: * The Example class provide

16、s .public class Example .注意:最外层的类或者接口的文档注释不用缩进。但它的成员的文档注释与成员的声明具有相同的缩进格式。文档注释从第二行开始与第一行相比缩进一个字符。即注释的每一行的星号要对齐。如果关于类、接口、变量或者方法的注释信息不是为文档信息提供的,就应该使用块注释或者单行注释(这两类注释应该使用在声明之后)。关于类实现方法的详细信息应该放在类语句后的块注释中,而不应该放在类的文档注释中。文档注释方法或者构造函数的定义块内。Java会将文档注释后的第一个声明于文档注释关联起来。1.3.4 声明规范n 变量声明 每行定义变量数目每行定义的变量数目必须有且只有一个。

17、例如:int level; / indentation levelint size; / size of table 变量初始化在声明局部变量的时候就要初始化变量。 变量定义位置在for循环里的循环变量可以在for语句里面定义。for (int i = 0; i maxLoops; i+) . 注意:应避免局部变量屏蔽了外层变量的作用范围。也就是说不要在内部块中声明一个与外部块某个变量同名的变量。例如类似下面的情况应避免:int count;myMethod() if (condition) int count; / 与外部的count变量重名,应该避免!n 类和接口声明类和接口的声明应该遵循

18、以下规范:1. 在方法名和参数列表的圆括号以及括号后的第一个参数间都没有空格。2. 开括号“”必须与声明语句放在同一行。3. 闭括号“”必须与声明语句有相同的缩进格式。4. 如果类或者接口实现内容为空,则可以将“”放在“”后面。5. 方法之间要用一个空行隔开。class Sample extends Object int ivar1;int ivar2;Sample(int i, int j) ivar1 = i;ivar2 = j;int emptyMethod() 1.3.5 语句规范n 简单语句每行最多包含一个语句。例如:argv+; / 正确argc+; / 正确argv+; argc

19、-; / 错误,应该避免这样写n 组合语句组合语句使用大括号括起来的一串语句。1. 大括号中的语句比组合语句多一级缩进。2. 开括号“”应该放在组合语句前的语句末尾。闭括号“”应该放在新的一行并与组合语句开始前的第一个语句有相同的缩进。3. 如果语句是控制语句的一部分时,所有的语句都要用大括号围起来,即使只有一个语句也要用括号,例如在if-else或者for语句中。这样避免在添加语句时忘记添加括号而导致程序产生bug。n return语句return语句在有返回值时不需要使用圆括号,除非使用圆括号在某些特定的情况下能够提高代码的可读性。return语句举例:return;return myDi

20、sk.size();return (size ? size : defaultSize);n if语句if语句使用格式如下:if (condition) statements;if (condition) statements; else statements;if (condition) statements; else if (condition) statements; else statements;注意:在if语句中必须使用大括号,避免使用下面的形式。if ( condition) /禁止使用! 这种方式忽略了大括号,容易导致错误。statement;n switch语句switch

21、语句使用格式如下:switch ( condition) case ABC:statements;/* 不包括break语句 */case DEF:statements;break;case XYZ:statements;break;default:statements;break;1. 每一个case语句都要包含break语句,如果不包含应该说明正常情况下应在什么时候退出switch语句。2. 每一个switch语句都要包含default情况,default语句后的break语句不是多余的,它能避免在以后添加其他的case语句时而可能导致的错误。3. 一般switch语句中condition

22、的值是整型数。n for语句for语句使用格式如下:for (int i = 0; i maxLoops; i+) n try-catch语句try-catch语句使用格式如下:try statements; catch (ExceptionClass e) statements;try-catch语句后也可以跟随finally。无论try块内的语句是否成功执行,finally块内的语句都会执行。使用格式如下:try statements; catch (ExceptionClass e) statements; finally statements;如果catch块中除throw 异常外没有

23、任何处理,则不应该写该try/catch块。1.3.6 空白使用规范n 空行使用规范空行的正确使用能够提高源代码的可读性,使得程序的逻辑关系更清楚。 两行空行的使用在下列情况下使用两行空行:1. 在一个文件的两部分(section)代码之间;2. 在两个类或者接口的定义之间。 单行空行的使用在下列情况下使用单行空行:1. 在两个方法定义之间;2. 在一个方法中局部变量的变量定义语句和方法的第一个其他语句之间;3. 在一个语句块或者单行注释之前;4. 为了提高程序可读性,在一个方法的两个逻辑段之间。n 空格使用规范在下列情况下使用空格:1. 关键字后跟随圆括号时要在两者间添加空格;例如:whil

24、e (true) 2. 函数调用时,函数名和圆括号间要添加括号;注意:在定义方法时的方法名和圆括号之间不加空格,这样便于区分方法调用和方法定义。3. 参数列表中的逗号后面要添加空格;4. 除了成员运算符(.)以外,所有的二元运算符应该用空格和操作数分开;在一元运算符(如:+、-、负数-)和操作数之间不用空格;例如:a = c + d;a = (a + b) / (c * d);while (n10) n+;print(size is + foo + n);5. for语句中的表达式要用空格隔开;例如:for (expr1; expr2; expr3)6. 强制类型转换后面要用空格隔开;例如:m

25、yMethod (byte) aNum, (Object) x);myMethod (int) (cp + 5), (int) (i + 3) + 1);1.3.7 缩进规范每一级缩进都要再上一级的基础上缩进4个字符。1.4 HTML编程规范1.4.1 编写规范1. 在引用CSS时,请先确认所引用的属性名称在CSS中是有的。2. 在文件中引用了CSS就尽量不要再给TD或INPUT设一个死值。把数值尽量写在CSS里。 如: 如果CSS中没有设宽度,那在写时也尽量写成百分比形式。 如:3. 注意上下行列数相同 4. 在录入、查询、修改、列表等页TABLE请写成这是表格居中,边距5,间距1在录入、查

26、询、修改页中一般表格为4列,第1列及3列,第2及4列为在列表页,标题行TR ,内容行TR可以在TD中设每列的宽度,但只写一行就可以如: 5. 有链接的文字样式,一般文字链接样式为灰色带下划线,鼠标移到上方时下划线消失;如果是结果例表页中表格里文字带链接,那么样式为彩色带下划线,鼠标移到上方时下划线消失。彩色字带下划线样式引用:格式制定人名称:6. 书写HTML代码时请依次缩进2个空格,并对齐代码,以便于修改。1.5 业务编程规范1.5.1 命名规范n 类文件命名规范参见架构设计的通用原则。n JSP文件命名规范以操作名开头,后接对象名如果对象名超过20位。则按照缩略规则执行例:编辑CCL保单E

27、ditCCLPolicy.jsp通常会有部分文件可以公用如EditCCLPolicy.jsp就包含文件EditCCLCitem.jsp,EditCCLCmain.jsp等。n 方法命名规范采用由大小写英文字母,数字和”_”组成方式,规则如下;l 公共方法命名公式“动作”或“动作”+”对象名”例:保单接口类Policy.java中的方法add, 保单数据传输对象PolicyDTO.java中的方法setCmainl 私有方法命名公式:private+”_”+“动作”+”对象名”例:private_InsertRow1.5.2 JavaScript库维护规则JavaScript库分为通用JavaS

28、cript库和应用专用JavaScript库,其中通用JavaScript库分为如下几个部分:n Common.js 为标准的JavaScript库n MulLine.js 操作多行输入的JavaScript Frameworkn CodeSelect.js代码输入的JavaScript Framework。n Process.jsJavaScript整体框架通用JavaScript库由专人负责,并提供向后兼容性保证,项目组不允许修改通用JavaScript库。应用专用JavaScript库为Application.js,由项目组负责维护。原则上,所有JavaScript都应该兼容IE5和NN

29、6或以上版本。1.5.3 页面元素命名规范通常页面输入域应该命名成与数据库表名字段名一致,同时在XXXDataDefine.js(JToolpad生成)中存在该数据库字段的相关信息,用域校验数据。如果一个域的校验希望与数据库的信息不同,可在CustomDataDefine.js加入该域名的数据类型,由框架来做相应处理。1.5.4 词根表维护规则词根表分为通用词根表和专用词根表两类。通用词根表只有一份,它的作用域是所有系统;专用词根表依附于特定的系统,其作用域也仅限于该系统;所有的词根表由专人(词根表管理员)维护,维护流程如下:假设存在系统A,如果A需要的某些单词W没有在当前版本的词根表中定义,

30、则A系统的项目经理向标准化小组发出申请,标准化小组负责提供词根,与此同时,如果W是一个通用词根,标准化小组负责将新增词根表信息发布。1.5.5 注释规范程序文件头的注释说明主要包括该程序文件包含类的功能描述(Description)、文件创建作者(author)、创建日期(createdate)等信息。例: * Policy的Custmo Action类* author zhouxianli * version 1.01.5.6 书写规范参java编程规范1.5.7 程序规范参java编程规范1.6 编程步骤我们以演示系统(DEMO)为例1.6.1 数据库设计首先,我们要设计好数据库,频繁的变

31、更数据库结构是项目设计混乱的体现。在这里我们要用到工具Sybase PowerDesigner 9,在平台中心的FTP上有Beta版下载。我们用PowerDesigner设计数据库,里面包含几个表。保存为demodb.pdm。1.6.2 搭建工作区我们按照1.1.2节所说的方法构建一个工作区。1.6.3 生成标准代码启动工具JToolpad,从菜单文件=导入=PDM选择我们设计好的数据库文件demodb.pdm导入。很快就会出现一个窗口,显示出我们的数据库结构。选择菜单模型=设置应用属性,其中的应用代码就是我们的包名的一部分,这里我们输入DEMO,Java源代码目录就是生成出来的文件所在的位置

32、,我们选用刚才创建的工作区的源代码目录。确定后可以保存一下,以便以后再用。选择菜单模型=生成所有生成我们所需的所有标准类。1.6.4 添加BLFacade,主要为声明接口这是后台服务提供给UI编程人员的编程接口。需要我们自己编写。当然,我们也可以选择先让JToolpad生成主体框架,再来自己编写。如添加类BLEissTableFacade.java,然后在其中添加一个服务findPolicyDaily(按条件查询保单日结清单)。在此我们提供的接口是public Collection findPolicyDaily(String conditions) throws Exception。注意:B

33、LFacade中所有方法的入参只能为DTO或JDK自己的类型。不允许有UI层的类,因为违反分层原则,不允许有DBManager,因为不允许在UI层打开JDBC连接。由于JToolpad目前无法识别注释,所以切勿在BLFacade中将public的方法注释起来,以免影响UICommand的生成。1.6.5 重新生成UICommand每次当BLFacade中公开的方法变更之后,也即接口改变之后,都必须重新编写UICommand。当然,最简单的方法是使用JToolpad重新生成UICommand.1.6.6 添加BLAction把业务逻辑添加在此。如果需要访问数据库,可以调用DB类的方法。如果需要自

34、定义的DB方法,则可以在DBXXX.java中添加相应的方法。如果需要扩展DTO,即往DTO中添加属性和访问属性的方法,可以在XXXDto.java中添加相应代码。如果需要自定义的DB或DTO的话(通常为多个标准类的聚合),则必须自己编写。1.6.7 完成BLFacade在上一步,我们已经实现了BLAction的相关代码,然后我们就可以完成我们的BLFacade了。参考标准代码,如果有事务则加入事务处理。访问BLAction以完成真正的业务逻辑。至此,我们后台的编程任务已经结束。1.6.8 编写JSP首先,利用JToolpad生成单表的所有页面(在WEB_HOME/temp目录下),在此基础上

35、继续我们的工作,主要包括去掉不必要的字段,添加链接等。在JSP中,INPUT域的命名规则为表名+字段名,但是有一个例外,即下拉框,下拉框的命名规则为字段名。在前台编写JSP如果设计不好,会是一个非常烦的工作。因此在这里要非常注意include的问题,能公用的就可以公用,但是要注意方式,最好使用标签的方式,否则页面较大时可能无法编译(惨重的教训)。1.6.9 编写其他参考样本程序。附录:JToolpad关于作者:周咸立 从2000年开始在中科软从事J2EE相关的技术工作,有丰富的项目经验。联系方式为:l MSN:zhouxianli1978l 邮件:zhouxianlil 电话:010-62570007-642

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁