今天进入可开发前的准备阶段在开发项目前要求每位开发小组成员都必须先阅读以下约定严格按以下约定来进行开发 系统框架 ·系统总框架采用SUN JEE框架使用JAVA/XML技术和组件技术 基于Application server开发 ·项目中的程序必须严格按JEE规范来编码EJB建议采用规范编码尽可能多使用EJB 模式设计参考技术文档如下 《JEE Tutorial》 jee_doctutorialdraftpdf 《JBoss Quick Start Guide》 《EJB Design Patterns》 开发环境 ·测试用Application server采用JASJAS 配置于Linux OS下IP地址登录用户名JEEOA密码JEEOA登录ftp工具建议使用SSH Secure Shell或LeapFTPftp地址为: ·项目开发源码目录为/home/local/jboss/applications/JEEOA/src项目开发文档目录为/home/product/JEEOA/ · 数据库服务器IP为数据库采用Mysql管理工具为phpadmin登录数据库的用户名为test密码为test 源代码目录规范 每位开发小组成员一定要绝对遵守以下创建源代码目录的规范 项目开发目录结构简图 |apps |JEEOA |admin |components |a component |modules |a module |lib |ant |buildproperties 图片 项目开发目录结构图 项目开发目录结构说明 \ (说明根目录) |apps (说明此目录下放应用程序的代码) |JEEOA (说明此目录为放JEEOA应用程序的代码) |admin (说明此目录为放项目的admin应用程序的代码) |components (说明此目录下放应用程序组件的代码) |a component (说明此目录为放一个组件的代码) |modules (说明此目录下放应用程序模块的代码) |a module (说明此目录为放一个模块的代码) |lib (说明此目录下放项目开发工具) |ant (说明Ant工具包括bin和lin目录) |buildproperties (说明此文件定义项目开发共用的环境变量 如jbosshomenfigurationservletlibpath等) 模块组件开发目录结构简图 |build |etc |multilangs |lib |docs |ejb | METAINF |jee |METAINF |web |WEBINF |src |ejb |javabean |servlet |web |buildbat |buildsh |buildxml 图片 模块组件目录结构图 说明srcetc目录和buildbatbuildshbuildxml为开发人员建立的目录build和lib目录为由ant工具生成的目录 模块组件开发目录结构说明 \ (说明一个模块或一个组件的根目录) |build (说明保存由ant工具生成的扩展名为jarwarear等文件) |etc (说明存放部署文件如webxmlejbjarxmlapplicationxml jawsxmljbosscmpjdbcxml等) |multilangs (说明存放多语言资源文件扩展名为properties) |lib (说明保存由ant工具生成的API文件class文件等) |docs |api |ejb | METAINF |jee |METAINF |web |WEBINF |src (说明存放源代码包括java和jsp代码下面有四个目录) |ejb (说明采用EJB进行开发存放EJB和Helper Classes源代码) |javabean (说明采用Javabean进行开发存放Javabean和Helper Classes源代码) |servlet (说明存放Servlet源代码) |web (说明存放JSP源代码) |buildbat (说明在Window OS下进行build的文件) |buildsh (说明在Unix OS下进行build的文件) |buildxml (说明Ant工具要build的目标文件) 应用程序开发目录结构简图 |build |etc |lib |docs |ejb | METAINF |jee |METAINF |web |WEBINF |team |a member |ejb |javabean |web |buildbat |buildsh |buildxml |buildproperties 图片 应用程序目录结构图 应用程序开发目录结构 由于项目由多个程序员一起来进行编码所以应用程序开发目录结构和模块组件开发目录结构的不一样 应用程序开发目录结构没有src目录但多了一个team目录此目录存放所有程序员的classes和Jsp代码 应用程序开发目录结构下buildxml和模块组件开发目录结构下的buildxml有很大不同 由项目组长负责管理etc目录buildxmlbuildbatbuildshbuildproperties程序员分别管理team目录下的属于自己的目录如程序员tom管理team/tom目录 buildxml编码规范 · 应用程序目录下的buildxml 源代码应用程序目录下的buildxml规范模板 说明在建立buildxml时组长只需修改创建的时间和变量ProjectName等 模块组件目录下的buildxml 源代码模块组件目录下的buildxml规范模板 说明在建立buildxml时开发人员只需修改创建的时间和和变量ProjectNamecomponentName等 编码规范 · 项目中的JAVA源代码必须按《JAVA开发规范》 ·项目中的JSP代码必须按《JSP开发规范》 · 每位开发小组成员在开发项目时都严格按此规范来进行编写程序让项目中所有的文档都看起来像一个人写的增加可读性减少项目组中因为换人而带来的损失 · 每位开发小组成员一定要绝对遵守这个规范当实际应用与下面的规范相抵触时记录下原因潜在后果以及符合规范需要的条件但必须是在让程序有良好的可读性的前提下 功能模块 在做业务逻辑模块前先把一些准备工作做出来 建立一些公用的bean(项目中称为系统控制器controller)包名为ntroller*提供给系统各模块使用包括对时间字符的操作调试器软件国际化多语言版本系统的WEB外壳MVC模式的Servlet和Action对WEB页面显示的控制如树结构路径结构等等 建立一个序列发生器包名为comcwapoasequencegenerator*提供给bean使用它用来产生一个唯一的ID而且也可用来计数也就是把它当成计数器使用介绍如何取id的方法的文字要写在bean的代码内以便生成API后供其它开发人员参阅 建立一个ServerFacade它为EJB Home提供统一的接口ServerFacade为程序要用到的所有EJB的home handle提供缓存提高访问效率以后查找JNDI Name的方法都应写在接口里调用时直接从接口调用 建立一个翻页控制器包名为ntrollerwebpage*用来进行分页显示的管理以后页面中的分页都由翻页控制器管理 异常处理和日志 · 程序中所有的异常处理使用统一的调试器bean的名称为ntrollerutilDebug用法见项目API · 程序中所有的日志使用Jakartalogj管理包的名称为logjjar 官方URL Session · 放在session中的变量统一放在一个bean里存储不直接把session变量名称放在JSPServlet或Bean内存储session变量名称的bean为ntrollerwebutilWebKeys取session变量名的方法为getXX() · 取session变量的值的方法统一放在一个bean里bean的名称为ntrollerwebutilJSPUtil取session变量值的方法为getXX()之后要取session变量值就调用JSPUtil中对应的方法 · 当前系统中已知的session变量名有useriduserNamelocaleskin等userid为用户标识userName为用户名称locale为用户选择的地域skin为用户选择的界面风格 DAO 使用DAO封装SQL语言对数据库的直接操作DAO采用Factory模式编写 组件 所有的业务逻辑使用组件技术每个组件内同时提供EJB版本和DAO版本两种的方法不推荐直接使用EJB版本和DAO版本的方法 < |