Java综合项目开发平台开发标准规范.doc
《Java综合项目开发平台开发标准规范.doc》由会员分享,可在线阅读,更多相关《Java综合项目开发平台开发标准规范.doc(75页珍藏版)》请在咨信网上搜索。
1、Java项目开发平台开发规范_北京东方国信电子有限公司CRM事业部时间:-8-27目 录Java项目开发平台开发规范1一、开发平台概述3二、技术综述51、Struts框架技术52、Hibernate数据持久化技术93、动态bean技术15三、在BONC-JONE平台上进行开发191、BONC-JONE平台目录阐明192、如何使用BONC-JONE运营起来193、开发关于规范性规定及典型环节19四、重要函数及使用技术办法阐明43如何使用自定义标签库?43如何使用日记类写日记?45如何进行资源注册?48如何进行登陆权限验证?48如何进行字符转换?48如何对资源文献进行字符转换?48如何配备、读取应
2、用配备信息?48如何打包boncpersistenceobj.jar文献?48数据操作办法原理是如何?48如何将任意文献上传到数据库中,又如何下载?48如何保证在页面清空字段能对的提交到数据库?48如何使用日期控件?49如何使用DBQuery类进行数据查询?49如何自动生成Hibernate持久化beans及map文献?49如何使用分页技术?51附录:54附A:Struts学习精要参照54附B:Hibernate学习精要参照54附C:技术备忘54一、开发平台概述BONCJONE开发平台是北京东方国信电子技术有限公司遵循“简朴、有效、先进、可扩”原则,通过整合Struts 1.1与Hiberna
3、te 2.1等先进开源技术设计并实现一种J2EE开发平台。其架构图如下:这个体系架构主体是MVC架构。MVC是Model/View/Control缩写。Model/View/Control是软件设计典型构造。在这种设计构造下,一种应用被分为三个某些:Model、View和Controller,每个某些负责不同功能。Model是指对业务数据/信息解决模块,涉及对业务数据存取、加工、综合等;View是指顾客界面,也就是面向顾客数据表达;Controller则负责View和Model之间流程控制,也就是完毕两个方向动作:1.将顾客界面(View)操作映射到详细Model,以完毕详细业务逻辑;2. 将
4、通过Model解决完业务数据及时反映到顾客界面(View)上。其系统构成构造图如下:平台辅助API表达层StrutsTiles业务层业务管理接口业务管理抽象类业务管理实现类业务Beans技术JDBC持久化层Hibernate连接池技术数据库DataBaseBONCJONE开发平台从总体构造上充分体现了分层系统设计思想。分层概念来源于操作系统及网络合同设计中,但当前这个概念已在所有面向对象应用系统中相称流行了。BONCJONE开发平台重要层次分为:表达层、业务层、持久化层及某些各层公用工具类库。分层系统设计思想重点在于:l 一种分层系统在各有关层实当代码间定义了接口,从而容许一种层实当代码变化不
5、会影响到其他层。l 分层系统构造还限制隔层依赖发生,各层通讯是由顶向下管理。某一层仅依赖于直接位于它下面那一层。每一层对其她层存在都是不懂得,除非那一层紧邻其下。虽然是对紧邻其下层它也仅需要懂得如何使用接口与其通讯就可以了,而无需懂得其实现细节。BONCJONE开发平台通过Struts+Tiles技术实现了MVC模式中表达层和控制层,通过Hibernate技术结合动态Bean技术融合成独特业务Beans技术构建了数据层。二、技术综述1、Struts框架技术 Struts是一种基于J2EEMVC框架。 J2EE体系涉及JSP、Servlet、EJB、WEB SERVICE等多项技术。这些技术浮现
6、给电子商务时代WEB应用开发提供了一种非常有竞争力选取。但如何把这些技术组合起来,形成一种适应项目需要稳定架构对项目开发是非常重要。 设计一种框架,需要考虑方面诸多,不但要对J2EE体系中各种技术进行筛选用舍,并要考虑到开发过程中角色分工、后期运营维护,以及系统扩展性等诸多因素。 因而,一种成功软件需要有一种成功架构。MVC架构使得应用程序构造更加清晰,通过将代码按照层次划分为业务逻辑/数据、顾客界面和应用流程控制这三个层次,增强代码稳定性。咱们懂得,对于Model、View、Controller这三某些功能来讲,View实现普通是由界面设计人员和界面程序员来完毕,Model则是由业务逻辑程序
7、员来完毕,Controller则普通由负责整体控制程序员来完毕。Controller某些代码比较稳定,普通会实现一种通用架构;而Model则跟随商务流程变化而变化;View更改则是随着顾客需求更改而更改。这种模块功能划分有助于在代码修改过程中进行模块隔离,而不需要把具备不同功能代码混杂在一起导致混乱。对于项目开发而言,有助于在项目小组内按照小构成员各自擅长进行分工,有助于三个某些并行开发、加快项目进度。 当前可供选取较为流行MVC框架有六种之多:Struts、Maverick、WebWork、Turbine、RealMothods、AOP(aspect-oriented programming
8、)。它们应用领域及实现侧重点各有不同。但以Struts应用最广,是基于MVC模式Web应用最典型框架,当推首选。 Struts最早是作为Apache Jakarta项目构成某些问世。项目创立者但愿通过对该项目研究,改进和提高Java Server Pages (JSPs)、Servlet、标签库以及面向对象技术水准。 Struts这个名字来源于在建筑和旧式飞机中使用支持金属架。它目是为了协助咱们减少在运用MVC设计模型来开发Web应用时间。 因而咱们选取Struts。Struts勉励按照Model 2方式构建应用体系。Model 2是MVC基本设计模式一种变体。MVC设计模式长处是,它使得Mo
9、del、View和Controller各个某些之间相对独立。Struts在一种中心位置装配ActionServlet、ActionMapping和各种Action类,解决所有传入HttpServletRequest。ActionServlet把各个传入HttpServletRequest分发给Action类,而ActionMapping对象可通过Struts-config.xml配备文献控制,它告诉ActionServlet如何分发祈求。 本图示意了Struts各个某些之间通信过程Controller功能:在客户端、View和Model之间起协调、仲裁作用。只有Controller才会与Mod
10、el和View联系,在这中间它就象是一种互换机,而Model和View之间不会直接通信,这样,Model、View和Controller就被分隔开来。这是成功运用Struts核心所在。阐明一下:所有Controller逻辑应当放入Action类,与应用其她层通信可以在这里进行。虽然咱们可以把业务逻辑也放入Controller,但普通而言最佳不要这样做。应当改用Model某些组件,由于这些组件才是真正解决数据地方。把数据保存到数据库也应当是Model功能之一。当Controller解决好一种HttpServletRequest,它把祈求转发给View。View唯一任务是体现数据,在Struts中
11、,View普通使用JSP技术。在Struts中,Controller和View之间所有通信都通过HttpServletRequest、HttpSession和ServletContext间接完毕,对于这些操作来说,首选技术莫过于Servlet,Struts直接把HttpServletRequest传递给Servlet或者是JSP,但是Servlet容器会自动把JSP转换成Servlet。Struts框架将其侧重点放在了Controller与View层。View由JSP定制标记库和JSP页面共同构造,其中ActionForm类是一种类似JavaBeanValueObject对象,带有set和ge
12、t办法,用来保存客户状态。按照StrutsMVC概念,ActionForm位于View和Controller之间中间地带。Struts提供了一组完备专用标记,用来从JSP访问ActionForm里面数据。Controller由ActionServlet、ActionMapping和各种Action类互相配合来完毕。其中Action类给开发人员自由发挥空间比较大,因而,在开发过程中完整地遵从MVC概念Action类使用方式是一种核心。对于Struts解剖。图解阐明:其中不同颜色代表MVC不同某些:红色(控制器)、紫色(模型)和绿色(视图)l 一方面,控制器(ActionServlet)进行初始化
13、工作,读取配备文献(struts-config.xml),为不同Struts模块初始化相应ModuleConfig对象。例如配备文献中Action映射定义都保存在ActionConfig集合中。相应地有ControlConfig集合、FormBeanConfig集合、ForwardConfig集合和MessageResourcesConfig集合等。l 控制器接受HTTP祈求,并从ActionConfig中找出相应于该祈求Action子类,如果没有相应Action,控制器直接将祈求转发给JSP或者静态页面。否则控制器将祈求分发至详细Action类进行解决。l 在控制器调用品体Actionexe
14、cute办法之前,ActionForm对象将运用HTTP祈求中参数来填充自己(可选环节,需要在配备文献中指定)。详细ActionForm对象应当是ActionForm子类对象,它其实就是一种JavaBean。此外,还可以在ActionForm类中调用validate办法来检查祈求参数合法性,并且可以返回一种包括所有错误信息ActionErrors对象。如果执行成功,ActionForm自动将这些参数信息以JavaBean(普通称之为form bean)方式保存在Servlet Context中,这样它们就可以被其他Action对象或者JSP调用。Struts将这些ActionForm配备信息都
15、放在FormBeanConfig集合中,通过它们Struts可以懂得针对某个客户祈求与否需要创立相应ActionForm实例。l Action很简朴,普通只包括一种execute办法,它负责执行相应业务逻辑,如果需要,它也进行相应数据检查。执行完毕之后,返回一种ActionForward对象,控制器通过该ActionForward对象来进行转发工作。咱们主张将获取数据和执行业务逻辑功能放到详细JavaBean当中,而Action只负责完毕与控制关于功能。遵循该原则,因此在上图中将Action对象归为控制器某些。本图给出了客户端从发出祈求到获得响应整个过程图解阐明。以上咱们从原理上剖析了Stru
16、ts,关于详细如何应用Struts框架框,请参看附录A。2、Hibernate数据持久化技术 Hibernate 是一种object/relational mapping (ORM)持久化技术。 曾经,涉及当前也有许多J2EE项目在直接使用SQL/JDBC实现持久化。众所周知DAO模式让咱们把复杂JDBC编码和大量SQL隐藏到业务逻辑和领域模型之后,但这种方式实现是有限分离,最致命是应用由一种数据库向另一种数据库迁移时可移植性非常差。此外它规定开发者对项目中使用关系数据库管理系统非常熟悉,并且要精通SQL。 当前可供选取较为流行数据持久化技术也同样有诸多:EJB、Hibernate、JDO、O
17、JB、Cayenne、SimpleORM、JAXOR等等。 不选用EJB理由 EJB在J2EE应用里是一种重量级组件,它由容器提供了分布、事务等各种公司级应用需要特性。咱们不选用它重要是由于:l 兼容性问题。规范一模同样,实现各有不同,当从某一种EJB容器向另一种EJB容器移植时维护成本会很高。l 性能问题。l 不支持动态Query问题。Entity Bean最后执行代码是在布置编译时生成,很难实现动态Query。l 如果一种应用对事务解决规定很高,访问量非常大需要实现分布式集群时EJB才是必要。选用Hibernate理由 Hibernate是当前最活跃,应用最广,更新最快,文档最完整,功能最
18、齐备一种数据持久化开源项目。选用它理由重要有:l Hibernate并不直接反映数据库中表和列,它通过某些持久化类(JavaBeans)来映射到数据库中表上。这些持久化类与咱们普通使用JavaBeans没有任何不同,它们即可以由Hibernate来持久化,同样重要是它们也可以完全与Hibernate无关地被使用。这是它与其他持久化模型(例如EJB)一种重要区别即Hibernate持久化类是纯JavaBeans,它可以在任何地方被使用,而不需要容器。l Hibernate提供了一种对象导向查询语言(HQL)。几乎支持所有SQL语法,老式数据库可以做它就可以做。l Hibernate提供了数据分段
19、提取控制功能。l 将Hibernate放在SLSB后,它同样可以实现分布式应用,同样可以运用容器提供JAT事务服务。因而咱们选取Hibernate。Hibernate概要构造图:Hibernate详细构造图:Hibernate使用概要l 手工创立或使用工具自动生成Hibernate持久化类;文献示例:package eg;import java.util.Set;import java.util.Date;/* * hibernate.class * table=CATS */public class Cat private Long id;/ identifier private Date
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 综合 项目 开发 平台 标准规范
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。