SE-FESCO-36000-ETM-20120209-框架培训文档.docx_第1页
SE-FESCO-36000-ETM-20120209-框架培训文档.docx_第2页
SE-FESCO-36000-ETM-20120209-框架培训文档.docx_第3页
SE-FESCO-36000-ETM-20120209-框架培训文档.docx_第4页
SE-FESCO-36000-ETM-20120209-框架培训文档.docx_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

文档编号:SE-FESCO-36000-ETM-20110325-新员工培训密级:内部中科软科技股份有限公司软件工程部FESCO运营管理系统项目新员工培训(v1.0)编写人:孙伟编写日期:2012年02月11日审核人:审核日期:批准人:批准日期:2012年02月11日目录新员工培训11开发环境搭建41.1所需要的软件41.2安装步骤41.2.1安装JDK41.2.2安装eclipse51.2.3配置server61.2.4安装SVN插件91.2.5安装oracle10g121.2.6安装PLSQL Developer121.3项目环境搭建121.3.1创建工程121.3.2配置工程211.3.3运行项目262项目框架结构282.1框架的技术组成282.2系统前端主要目录结构说明302.3系统后端目录机构312.4包结构说明即命名规范312.4.1action312.4.2bo322.4.3dao包332.4.4model包352.4.5modelcustom包353项目编程规范363.1目的363.2Svn代码检查规范363.2.1介绍363.2.2检查范围363.3前台样式设计规范373.3.1介绍373.3.2样式设计规则373.3.3样式模块383.4前台组件设计规范393.4.1介绍393.4.2开源js库393.4.3公共js方法403.4.4Javascript编程规范433.4.5自定义标签433.5后台模块设计规范443.5.1Action设计规范443.5.2BO设计规范453.5.3DAO设计规范451 开发环境搭建1.1 所需要的软件1. jdk-6u24-windows-i586.exe2. Myeclipse8.53. Weblogic10.3.5或者apache-tomcat-6.0.32-windows-x86.zip4. Oracle10g5. PLSQL Developer1.2 安装步骤1.2.1 安装JDK打开jdk-6u24-windows-i586.exe,安装目录C:Program FilesJavajdk(可以自己定义安装目录)配置环境变量在计算机属性,高级,环境变量,找到系统环境变量中Path,增加 C:Program FilesJavajdkbin;(和安装目录同)1.2.2 安装eclipse将eclipse解压至指定目录,打开eclipse并指定工作空间。配置工作空间编码为UTF-8。1.2.3 配置server将tomcat6解压至任意目录,然后在eclipse中增加一个服务器。单击finish完成。如图,选择Arguments标签,在VM arguments中增加以下参数:-Xms256m -Xmx512m -XX:MaxPermSize=256m给tomcat服务器启动增加启动参数,增大tomcat的内存以防止运行项目过程内存溢出。增大tomcat的启动时间为300,防止项目在制定的时间内启动不了时异常。1.2.4 安装SVN插件选择eclipse help选项下的 Install New Software单击Add,name:Subclipse(任意取),Location: /update_1.6.x单击完成,按照提示,单击Next,直至要求重启eclipse完成。在VM Arguments选项中增加参数-Xms256m -Xmx512m -XX:MaxPermSize=256m,给Tomcat增加启动内存,防止项目运行时内存溢出。1.2.5 安装oracle10g若不需要连接本地数据库,可直接安装oracle10g的客户端。安装后,选择配置和移植工具下的net configuration assistant,选择本地Net名服务配置-添加-服务名:KFDB-TCP-主机名:7,单击下一步,完成。1.2.6 安装PLSQL Developer安装PLSQL Developer后,选择数据库KFDB,用户名和密码均为kfdb,即可登陆。1.3 项目环境搭建1.3.1 创建工程File-new-project单击Next选择“创建新的资源库位置”,单击Nexturl地址为:svn:/9/mis/trunk,单击Next选择根目录,单击Finish后,出现工程向导选择Dynamic Web Project,单击Next输入工程名称fesco(可以自定义),单击Next单击nextContent directory为 web(必须),单击finish,等待check out完毕。1.3.2 配置工程 配置工程编码右击工程,选择 Preferences,将编码设为utf-8,单击apply完成。 配置build path右击工程,选择build path -configure build path点击Add Folder将StrutsSrc选中选择 Server Runtime单击完成。 取消JavaScript的语法验证由于JavaScript的语法灵活,Eclipse自带的JavaScript语法验证对于js文件的校验不是很准确,所以去除项目中对js的校验。找到工程目录下的.project文件,用记事本打开,找到org.eclipse.wst.jsdt.core.javascriptValidator将此段代码用 注释,保存并退出,重启eclipse即可。1.3.3 运行项目选择Java EE的开发环境双击Servers标签下的 Tomcat V6.0选择Modules标签选择项目,点击Edit按钮,将Auto reloading enabled前的打勾去掉,这样当以debug模式启动tomcat时,更改方法体内容就不用重启tomcat了。保存后,以debug模式启动项目。由于eclipse本身wtp的bug,有时tomcat启动成功了,可是项目却没起来,这时clan一下tomcat,然后再启动服务,问题解决。2 项目框架结构2.1 框架的技术组成本框架使用到的技术有 Struts2、Spring、Hibernate。Spring 是一个解决了许多在 J2EE 开发中常见的问题的强大框架。Spring 提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring 的架构基础是基于使用JavaBean 属性的 Inversion of Control 容器。然而,这仅仅是完整图景中的一部分:Spring在使用 IoC 容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring 提供了唯一的数据访问抽象,包括简单和有效率的 JDBC 框架,极大的改进了效率并且减少了可能的错误。Spring 的数据访问架构还集成了 Hibernate 和其他 O/R mapping 解决方案。Spring 还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如 JTA 或者 JDBC 事务提供一个一致的编程模型。Spring 提供了一个用标准 Java 语言编写的 AOP 框架,它给 POJOs 提供了声明式的事务管理和其他企业事务-如果你需要-还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开 EJB 的复杂性,同时享受着和传统 EJB 相关的关键服务。Spring 还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序实用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。 2.2 系统前端主要目录结构说明Web|business|bd -产品前端页面|cs -业务前端页面|es -雇员前端页面|fm -财务前端页面|demo- 系统测试demo|FAQ- 框架常见问题已经解决办法|includes 系统引用 |html 框架样式文件 |inc 框架依赖开源组件|META-INF|context.xml 数据库连接池配置文件|smart 系统模块页面|WEB-INF|lib 系统jar包目录|tld 标签库目录|web.xml -部署描述符文件 |weblogic.xmlweblogic配置文件2.3 系统后端目录机构2.4 包结构说明即命名规范本项目的业务层整体划分为bd产品,cs业务,es雇员,fm财务四个大模块。每个模块中又各自的小模块,在各个小模块中,又分为action、bo、dao、model,四个包。每个模块的开发都有针对接口编程。另外注意,所有包名要小写。2.4.1 action 包说明所有的action类放在此包中。 命名规范和代码举例Action类的命名规范为:业务模块名称+Action,例如角色模块的action类命名为RoleActionAction类的实现规范为:继承BaseAction,例如角色模块的action实现:注意action写完以后要注册到spring的配置文件中,并且将scope设置为prototype,例如:2.4.2 bo 包说明业务逻辑的接口和实现类放在此包中。 命名规范和代码举例BO接口的命名规范为:I+业务模块名称+BO,例如角色模块接口命名为:IRoleBO。BO实现类的命名规范为:业务模块名称+BOImpl。BO实现类的实现规范为:实现BO接口。例如角色模块BO实现类:BO注册到Spring配置文件的命名规范:模块名称+Service。例如角色模块的命名为:roleService。注意必须以Service结尾,因为框架的事务控制是拦截Service结尾的bean。2.4.3 dao包 包说明数据持久层,数据的增删改查的接口和实现都要放到此包中。 命名规范和代码举例DAO接口命名规范为:I+业务模块名称+DAO,例如角色模块dao接口命名为:IRoleDAO。DAO实现类命名规范为:业务模块名称+DAOImpl,例如角色模块dao实现类RoleDAOImpl。DAO实现类实现规范为:实现DAO接口,继承顶层DAO封装类AbstractBaseDAO。例如:DAO注册到Spring配置文件里的命名规范为:模块名称+DAO。例如角色模块bena命名为:roleDao:注意现在框架底层DAO同时采用了Hibernate和JdbcTemplate,dataSource和sessionFactory分别是JdbcTemplate和Hibernate的数据源,只有注入了数据源才能使用。2.4.4 model包 包说明Pojo和Hibernate的配置文件放在此包中 命名规范和代码举例Model的命名规范为:模块名称,例如角色模块的model命名为Role。例如:继承底层AbstractBasePoHibernate的配置文件请参阅hibernate的相关文档编写。2.4.5 modelcustom包 modelcustom的命名规范为:模块名称+Custom,例如角色的modelcustom命名为:RoleCustom。框架要求返回到前台的必须javabean对象,不允许为Object数组,这样就很可能出现现在的model满足的不了前台页面展现的需要,这时我们可以写一个custom的model继承现有的model,然后再添加一些我们需要的属性, 从dao出来的是modelcustom。3 项目编程规范3.1 目的为了使所有Java代码在产生的一开始就能够在整个开发团队中保持一致,从而能够更好的阅读和修改代码,程序员应遵守一定的编程规范。详情参考Java项目编码规范.doc。3.2 Svn代码检查规范3.2.1 介绍框架引入了Checkstyle和SVNCheck,在开发人员提交代码时进行规范检查,如果检查没有通过,将拒绝代码的提交,这样既可以最大程度规范代码,也能够减少人力。3.2.2 检查范围 因为checkstyle遵循Sun的Java开发规范,检查非常严格,所以必须自己定制检查规范,目前框架检查的范围包括: 类名规范 方法名规范 常量名规范 多余的导入 魔法数字 未使用的导入 Java类注释 Java方法注释3.3 前台样式设计规范3.3.1 介绍 框架的样式文件存放在/web/includes/html/css目录下,只需要在页面中引入总样式all.css就可以了,引入方式为:3.3.2 样式设计规则1. 开发人员不要自己编写css代码和开发复杂的页面原型。2. 设计人员设计完页面之后,需要去样式模板库中找到相近的模板页面,稍作修改作为自己的页面,如果改动较大,比如涉及样式的改变的时候,需要提交到技术组,让美工来修改。3. 对于稍作修改的页面,添加页面元素样式请遵守页面元素模块3.3.3 样式模块 页面元素模板1. 按钮常用按钮图片:新增:add.gif修改:edit.gif删除:delete.gif查询:search.gif详情:info.gif配置:plugin_go.png上传:arrow_up.gif下载:arrow_down.gif导入:application.gif导出:excel.gif返回:arrow_undo.png配置:plugin_go.png打印:print.gif审批通过:accept.png审批不通过:cancel.png刷新:refresh.gif保存:table_save.png2. Input框Class指定为inp_text即可.2 常用页面模块常用页面模块请参考/includes/html/index.html3.4 前台组件设计规范3.4.1 介绍前台组件设计规范包括框架引用的外部开源js库、自定义的公有js方法、自定义标签的使用,以及开发人员在编写javascript代码需要注意的事项。3.4.2 开源js库 框架前端的javascript部分主要基于Jquery,下面是目前框架引用外部的开源js库: jquery-1.4.4.js 开源的轻量级的js库。 jquery.ztree-2.6.js 基于Jquery核心代码,功能强大的Tree插件。 WdatePicker.js 日期控件。 jquery.validate.js 基于Jquery的表单验证控件。3.4.3 公共js方法框架公共js方法存放在/web/includes/inc目录下的function.js和fesco.js中/* * 打开弹出框 * shadowId 阴影层div的id * dialogId 弹出层div的id * */function openDialog(shadowId,dialogId)/* * 关闭弹出框 * shadowId 阴影层div的id * dialogId 弹出层div的id * */function closeDialog(shadowId,dialogId)/* * 获取项目根目录 * return 返回项目根目录 */function getBasePath()/* * * param Object checkType checkbox选择方式(1.默认多选 2.默认单选 3.反选) * param Object resType 返回值类型(1.name+id 2.id 3.name+parent+id) * return 选中地区的id集合 格式(id name pid) */function showAreaTree(checkType,resType)/* * * param formId form表单ID * param selName select的name * param corpId 选择的公司,不选择就填null * return 返回公司名称下拉菜单 */function getCorpInSel(formId,selName,corpId)/* *给表单赋值,表单元素那么属性与ognl表达式一致 * param formID 表单ID * param jsonObj json对象 * author heweijie */function setFormValues(formID,jsonObj )/* * 解决javascript的浮点数运算bug * */加法函数,用来得到精确的加法结果/说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。/调用:accAdd(arg1,arg2)/返回值:arg1加上arg2的精确结果function acc

温馨提示

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

评论

0/150

提交评论