收藏 分销(赏)

Java项目开发平台开发规范方案.docx

上传人:二*** 文档编号:4711327 上传时间:2024-10-10 格式:DOCX 页数:36 大小:105.65KB
下载 相关 举报
Java项目开发平台开发规范方案.docx_第1页
第1页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Java工程开发平台开发标准北京东方国信电子CRM事业部时间:2003-8-27目 录Java工程开发平台开发标准1一、开发平台概述2二、技术综述21、Struts框架技术22、Hibernate数据持久化技术43、动态bean技术9三、在BONC-JONE平台上进展开发121、BONC-JONE平台目录说明122、如何使用BONC-JONE运行起来133、开发有关标准性要求及典型步骤13四、主要函数及使用技术方法说明36如何使用自定义标签犀? 36如何使用日志类写日志? 38如何进展资源注册? 41如何进展登陆权限验证? 41如何进展字符转换? 41如何对资源文件进展字符转换? 41如何配置

2、、读取应用配置信息? 41如何打包 boncpersistenceobj. jar 文件? 41数据操作方法的原理是怎样的? 41如何将任意文件上传到数据库中,义如何下载? 41如何保证在页面清空的字段能正确提交到数据库? 41如何使用日期控件? 42如何使用DBQuery类进展数据查询? 42如何白动生成Hibernate持久化beans及map文件? 42如何使用分页技术? 44附录:45附A: Struts学习精要参考45附B: Hibernate学习精要参考45附C:技术备忘45定义了五种属性访问策略,使得属性的访问代码像脚本一样在运行时决定,另外一 个进步就是它支持List和Map属

3、性的元素属性,也就是扩展javaBean属性机制它不把 一个Bean的某个List和Map成员看成一个整体属性,而是动态地把这个List和Map 成员的元素看成属性,这样无疑提供了 一种无限扩展Bean属性的能力。Common-beanut i I s 1.6中的propertyUt i I s实用类使用Java语言的内省反射功能实 现扩展属性的设置器和获取器。propertyUti Is定义了引用一个特定Java bean属性的五种 格式: 简单属性,格式 beanName. propName。propName 标识了 JavaBean beanName 的 一个属性,这个属性的获取器和设置

4、器的方法是通过JavaBean的标准内省功能 决定的。如果要改变简单属性的值,必须要有设置器操作,可以想象成类似调 用 beanName. getpropName () | setpropName (va I ue);嵌套属性,格式 beanName. propNamel. propName2. propName3。像简单属性一样, 第一个propNamel元素被用来选择一个属性获取器方法,在这个方法退回的对 象上使用propName2的获取器方法返回下一个对象,最后这个对象的属性 propName3被访问或设置,可以想象成类似调用beanName. getpropNamel (). getp

5、ropName? (). getpropName3 () | setpropName3 (va I ue)索引属性,格式beanName. propName index 0属性propNamel可以是一个数组, java, ut i I. List或者JavaBean beanName有索引属性获取器和设置器操作。bean只需propName的获取器方法,可以想象成类似调用beanName. getpropName (index)|setpropName (i ndex,vaIue): 映射属性,格式 beanName. propName (key)。propName 是一个 java. ut

6、il. Map 实现。bean 只需propName的萩取器方法,可以想象成类似调用beanName. getpropName0. get(key)|set(key,value); 组合属性,格式 beanName. propNamel. propName2i ndex. propName3 (key) 0 动态bean:动态bean具有动态属性,也就是说可以由程序运行时构造bean的属性,而不是像标准 的javaBean在编译时决定一个bean的属性。定义和访问一个动态bean的步骤如下: 定义一个动态属性Dynaproperty数组,动态属性Dynaproperty定义了 一个属 性的名字

7、和对象类型; 用定义好的动态属性数组实例化一个动态类; 由动态类返回一个动态bean; 可以用propertyUti Is访问和设置动态bean的属性。下面是定义和访问动态bean的代码:/ TestDynaBean. javaimport org. apache mons.beanut iIs. *;import java.ut iI.pub Ii c cI ass TestDynaBean pub Iic static void ma i n (Str i ng args) TestBean bean = new TestBean ();Object vaIue = null;try(Dy

8、naproperty px = (new Dynaproperty (subord i nate, bean.getClass (),new Dynaproperty (f i rstName,Class. forName( java. lang. Str ing),new Dynaproperty(IastName,Class. forName (java. lang. Str i ng);DynaClass dynaCIass = new BasicDynaClass(employee,null, px );DynaBean empIoyee = dynaCIass. new Instan

9、ce ();propertyllt i I s. setproperty (emp I oyee, subord i nate, bean);propertyllt i I s. setproperty (emp I oyee, subord i nate. I i st I ndexed 0, dy bean set);propertyllt i I s. setproperty (emp I oyee, f i rstName, Fred);propertyllt i I s. setproperty (emp I oyee, I astName,FIi ntstone);System,

10、out.pr intIn (subordinate. Iist Indexed0:);System, out. pr i nt I n (propertyllt i I s. getproperty (emp I oyee, subord i nate. I i st Indexed0);System, out. pr intIn(fi rstName: +propertyllt i I s. getproperty (emp I oyee, f i rstName);System, out. pr i nt In(IastName: +propertyllt i I s. getproper

11、ty (emp I oyee, I astName);)catch (Except i on e )(System, out. pr i nt I n (e. toStr i ng ();)从配置文件配置动态bean的动态属性好处在于既能固定又能更改动态Bean的属性,这些属性是这个动态Bean对外界的宣布的访问协议。动态属性Dynaproperty的主要构造函数承受两个参数:第一个为属性名称,为字符串性,第二个为属性的类型, 为Class类型。从配置文件读取的资料普通为字符串型,我们可以用ClassLoader把配 置文件中字符串型的属性类型转化成Class类型的属性类型。下面 struts

12、 1. 1 中 struts-exampIe. war 的 formbeans, xml 中的片断表达了如何在配置文件中定一个动态bean的动态属性: 下面RequestUtils的代码片断表达了如何从字符串表示的属性类型转化成Class型的属性类型:pub I i c stat i c Class appIi cat i onCI ass (Str i ng cIassName)throws CIassNotFoundExcept i on / Look up the cI ass loader to be usedClassLoader cIassLoader =Thread. curre

13、ntThread (). getContextC I assLoader ();i f (cIassLoader null) (c I assLoader = RequestUt i I s. c I ass. getC I assLoader ();/ Attempt to Ioad the specified cI ass return (cIassLoader. IoadCI ass(cIassName);这就是关于动态bean的所有奥秘,RequestUt i I s类:代码片断pub I i c static Act ionForm createAct ionForm就是这样创立动态

14、bean的。三、在B0NC-J0NE平台上进展开发1、BONC-JONE平台目录说明注意:com. bone mon、com. bone, secur i ty包属于开发平台根本支持包,其中的文件不 允许开发人员改动。2、如何使用BONG-JONE运行起来将开发平台从source safe拉下来后,只需要将src目录下的bonc_init. properties 文件中 boncHome二的路径改为你所下载目录的实际路径,如: boncHome=D: Deve IopWorkjavaboncCrmexamp I erootWEB-INF,做了 这样的设置后, 系统启动时就会到这个目录下去找我们

15、的工程配置文件bonc_conf i g. xml。如果你使用的是Jbuilder,还应该将I ib目录下的所有包文件,参加到你工程的Required Libraries 中。做完以上工作bonc-jone应该就可以正常运行了。3、开发有关标准性要求及典型步骤 应用的包的组织规那么客户关系工程中所有与应用模块相关的包均应在com. bone, erm包下,如果开 发的是其他工程那么根据工程名称来定义这个包名称,可能是这样的:com. bone, samp I e 等。 在com. bone, erm包之下,以模块名称来分包,比方:模块名称是“留言模块, 就要定义一个与其对应的包com. bon

16、e. erm. module, leavewordo在各模块包下再分为bean包存放Form bean及其他本模块可能要用到的 beanaction包存放Act i on类与buss i nessmanager业务管理包存放业 务管理接口 类,比方:com. bone. erm. module, leaveword, act ion、com. bone. erm. module, leaveword, bean 与 com. bone. erm.modu I e. I eaveword, buss i nessmanager 包。 在各模块的业务管理包下再定义业务管理实现类包impl包存放业务

17、管理接口 的实现类,比方:com. bone. erm. module, leavev/ord. buss i nessmanager. imp I o 包定义的要求:全部小写字母定义。 应用开发中主要编写的类的作用Form bean类:建议开发中尽量使用动态Form bean即根据struts的配置支 件生成的动态bean,特殊情况下才写Form bean类。该类是一个ValueObject 对象,主要的作用是包装客户端请求,将数据从view层传给Action类,由 Action类转给业务处理类进展处理:或者由Action类更改或填充其中的数据, 然后将其传给view层来显示。 Action

18、类:Action类主要完成三方而的功能,其一是做登陆及权限验证,其 二是做数据校验,其三也是最主要的)员责完成与控制有关的功能。需要注 意的是尽可能不要此类中包含业务处理功能。 业务管理接口类:该类是对业务对象进展操作的抽象,是一个接口,对该业务 对象的操作均应通过它来进展。 业务管理抽象类:这种类实现或局部实现业务管理接口中定义的方法,业务操 作的大局部代码均应该写在这个类中。由于这个类是个抽象类,所以它不能够 被实例化。 业务管理实现类:这种类是业务管理抽象类的继承类,通常情况下其中无实际 代码。应用开发中关键的配置文件的意义及功能 web. xml文件:是Web应用最根本的部署描述配置文

19、件。部署Web应用首先要配置web. xml文件。开发人员需要在Web. xml部署描述文件中 配置:有效的部署描述文件必须包含DTD声明:web-app标记是部署描述文件的根元素,它的子元素包括:元素描述icon此元素指定在GUI工具中表示此Web应用的大图标和小图 标,包含一个sma 1 l-icon和一个large-icon元素,可使 用GIF或JPEG格式的图像d i sp1 ay-name此元素提供在GUI工具中此模块的短名字descr i pt i on此元素提供关于父元素的描述性文本d i str ibutab1e如果在Web应用部署描述中使用该元素,就表示该Web应 用可以部署

20、到分布式Servlet容器context-param此元素包含Web应用的Servlet环境的初始参数servlet包含一个servlet的声明性数据servlet-mapping在servlet和ur 1模式间进展映射session-config声明此Web应用的Session参数mime-mapping定义扩展名和mime type间的映射v/e 1 come-f i 1 e-1 i st包含we 1 come-f i 1 e子元素的顺序列表error-page包含一个错误代码或违例类型与web应用中资源的映射taglib用于描述一个JSP标记库resource-ref包含一个对外部资源的

21、引用声明secur ity-constraint用于为一个或多个Web资源集合指定相应的平安约束login-config用于配理身份筌定的方法,此应用使用域名,以及通过表 单登录机制那么需要设置此属性secur ity-role包含使用于web应用中元素的平 安角色的声明env-entry包含应用环境变量的声明ejb-ref用于声明对EJB的引用ServletContext初始化参数:context-param标记的子元素包括: param-name : 参数名 param-va I ue : 参数值 description :参数的描述信息 例如:my_context_param_nameC

22、ontext Param VaIueparam descr i pt ionSess i on 配置session-config标记的子元素包括:session-timeout : session 超时时间例如:30Servlet/JSP 定义servlet标记的子元素包括:icon :在GUI X具中的显示图标servlet-name : servlet 名称d i sp I ay-name :在GUI X具中的显示名称descr i pt ion :描述信息servlet-class | jsp-f i le : servlet 类名称;jsp 文件的完全路径init-param :初始化

23、参数列表Ioad-on-startup : web应用启动时装载secur ity-role-ref:定义平安引用角色servlet-mapping标记的子元素包括:servIet-name : servlet 名称例如:smaI I. gifIargeI. gifmy_servIetmy_servIetmy_servIetcom. apus ic. test. MyServIetmy_i n i t_pa r amInit Param VaIue param descr i pton1roIe descr ipt ionmy_secur ity_roIe_nameSecur ity Ro I

24、e L i nkServ I et/JSP 映射ur l-pattern : servIet 映射的 URL 模板my_servIet/my_url_patternMIME类型映射m i me-mapp i ng的子元素包括:extens i on :扩展名mime-type : MIME 类型例如:txttext/pI a i n欢送文件列表we I come-f i I e-1 i st标记的子元素包括:we I come-f i I e :作为块省的欢送文件名例如:index, jspindex, htmlindex, htm错误页面error-page标记的子元素包括:error-co

25、de | exception-type :的错误代码;异常类型location :资源在Web应用中的位置例如:404ErrorPage. jspExcept i on TypeErrorPage. jsp平安secur ity-constraint 标记的子元素包括:web-resource-col lection :用于区分资源子集和web应用内使用平安约 束的这类资源的方法。如 方法未被指定,平安约束将适用于所有的 方法。auth-constraint :指定允许访问此资源集合的用户角色。在此处使用的 角色必须在元素中进展定义user-data-constra int :于指出客户端和容

26、器间的数据交换的保护方式login-config标记的子元素 包括:auth-method :用于为Web应用配置身份鉴定机制。作为对使用身份 签定约束保护的任何W e b资源取得访问的先决条件,用户必须使用已 配置的身份鉴定机制进展鉴定。此元素的合法值为“BASIC”、“DIGEST” 、 “FORM” 或 “CLENT-CERT”realm-name :指定在 根底授权中的域名form-log in-config :定义Web应用中使用的登陆页面可被找到的位 置secur ity-role标记的子元素包括:descr i pt ion :描述信息roIe-name :平安角色的名字例如:N

27、amedescr i pt一、开发平台概述BONC-JONE开发平台是北京东方国信电子技术遵循“简单、有效、先进、可扩的原 那么,通过整合Struts 1. 1与Hibernate 2. 1等优秀的开源技术设计并实现的一个J2EE 开发平台。其架构图如下:这个体系架构的主体是MVC架构。MVC是Model/View/Control的缩写。Mode I /V i ew/Contro I是软件设计的典型构造。在这种设计构造下,一个应用被分为三个局 部:Model、View和Control ler,每个局部负责不同的功能。Model是指对业务数据/信息 的处理模块,包括对业务数据的存取、加工、综合等

28、;View是指用户界面,也就是面向用 户的数据表示:Controller那么负责View和Model之间的流程控制,也就是完成两个方向 的动作:1.将用户界面(View)的操作映射到具体的Model,以完成具体的业务逻辑;2.将 通过Model处理完的业务数据及时反响到用户界而(View)上。其系统组成构造图如下: 分层系统构造还限制隔层依赖的发生,各层的通讯是由顶向下管理的。某一层仅依 赖于直接位于它下面的那一层。每一层对其他层的存在都是不知道的,除非那一层 紧邻其下。即使是对紧邻其下的层它也仅需要知道如何使用接口与其通讯就可以 了,而无需知道其实现细节。B0NC-J0NE开发平台通过Str

29、uts+Ti les技术实现了 MVC模式中的表示层和控制层,通 过Hibernate技术结合动态Bean技术融合成独特的业务Beans技术构建了数据层。二、技术综述1、Struts框架技术Struts是一个基于J2EE的MVC框架。J2EE体系包括JSP、Servlet、EJB、WEB SERVICE等多项技术。这些技术的出现给电子商务 时代的WEB应用开发提供了一个非常有竞争力的选择。但怎样把这些技术组合起来,形成一urI-pattern/secur i ty/*/urI一pattern/web-resource-co I lectiondefauItBASICDefauItroIe de

30、scdefauIt标签库配置:Tagl ib标记的子元素包括:tag I ib-uri:统一资源标识符(URI)参数,可以自由命名。tagl ib-location:标签库描述文件的实际位置。例如:/WEB-1NF/BoncTagLib. 11d/WEB-1NF/BoncTagLi b. 11d /WEB-1 NF/struts-bean. 11d/WEB-1 NF/struts-bean. 11d/WEB-INF/struts-html. tld/WEB-1 NF/struts-htm1.11d/WEB-1 NF/struts-logic. 11d/WEB-1 NF/struts-logic

31、, tld/WEB-lNF/struts-t iIes. 11d/WEB-1 NF/struts-t i Ies. tld看来web. xml的配置是很多的,但在开发中我们需要进展的配置并不多。 在bonc-jone开发平台的web. xml中根本不需要开发人员变动已有的配 置。唯一需要由开发人员进展的配置是增加各模块的struts配置文件路 径,例如:act ion org. apache, struts, t iIes. Act i onComponentServI etconfi g/WEB-1 NF/struts-conf i g. xml,/WEB-1 NF/struts-conf

32、i g-yourmodueI. xml, /WEB-1NF/struts-confi g-other. xmI Struts配置文件:是Struts柜架的中心配置文件,通俗地说是Struts应用的 地图。以下是Struts配置文件的根本构造:!DOCTYPE struts-conf ig PUBLIC -/Apache Software Foundation/DTD Struts Conf iguration1. O/EN:/Jakarta, apache, org/struts/dtds/struts-confi Authent icates and author i zes a user.

33、 开发人员进展开发时主要是配置form-beans中的form-bean及action-mappings中的 act iono注意:在bonc-jon e开发平台中,V/EB-1 NF目录下的s truts-conf ig. xml配置文件 是不允许开发人员更改的。开发人员应该将自己开发的模块独立形成一个struts 配置文件,按照struts-conf ig-模块名称.xml的方式来命名,并将其参加web. xml 的配置中,具体方法见web.xml的配置。 tiles-defs. xml配置文件:是使用tiles框架及其标签库技术需要配置的文件。以下是t i les-defs. xml配置文件的根本构造:definition name=rootLayout path=/1ayouts/root

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服