分享
 
 
 

J2EE宠物商店 (1)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

J2EE 是java技术在企业运算上的应用,它包含多种运算标准,如EJB组件架构、JDBC数据库运算、JMS信息传递、Java Servlets/jsp等Web组件程序等,功能强大且内容博大精深。为了让使用者可以有一个设计J2EE架构应用程序的模板,Sun做出一套系统名为“Java宠物商店(Pet Store)”。这个网上宠物店的范例是针对已经熟悉Java程序设计和J2EE概念人员的。这个系统是使用正规方式设计出来的,使得使用J2EE架构的人员有了一个参考的依据。这个范例一出来,很快就被用来当成比较各家J2EE兼容产品的依据。Oracle的J2EE application Server(Oracle 9iAS)、BEA WebLogic Server、

IBM

WebSphere都有相应的产品。Java标准的精神原本就是各家厂商合作制定技术标准,然后再根据这个标准来评选出最优产品。

Java Pet Store使用的架构设计就是所谓的MVC 设计模式。MVC是Model-View-Controller的简写,是设计模式的一种,源自Smalltalk。MVC模式则是将对象分成三类,Model对象专门用来包装应用程序的状态,View用来负责屏幕上的展现,Controller则负责定义应用程序的各种动作和反应。Java宠物店系统利用MVC模式设计整个系统架构,将各层的对象清楚地分开。Java宠物店的目的是展示一个具有扩充姓的企业运算架构,就是采用三层(3-Tiers)式设计:资料展现层在最外面,中间是执行企业运算逻辑的中间层组件,后端就是单纯存放资料的关系型数据库。Java宠物店当初的用意也只是当成一个J2EE架构设计的模板,并没有非凡针对加速执行效能作额外的设计。

系统构架与宠物商店简介

系统构架

Pet Store网站系统采用松耦合的设计架构,可以和多个数据源、EIS进行交互。这个例子共分成4个部分:

1.Web购物站点;

2.治理部分,包括销售统计、手工接受/拒绝订单;

3.订单处理,包括以下4部分内容:

◆ 通过JMS接受/处理订单消息;

◆ 用Java Mail来通知客户;

◆ 通过JMS发订单给供给商;

◆ 维护订单数据库。

4.供给商,此部分包括以下内容:

◆ 通过JMS接受订单;

图3 Java pet Store 模块设计

在图3中,控制模块控制所有的交互和执行,每个用户会话都有一个购物车对应。

宠物店的组件

1. EJB,代表了商业数据和执行商业逻辑处理;

2. JSP页面, 定义了整个应用的视图框架模板(template.jsp)和模板组成的各个JSP文件,以及各种被引用的图形文件;

3. xml文件,用来定义屏幕、屏幕跳转控制、绑定URL到某个Html Action、定制signOn以及J2EE部署的部署XML文件;

4. Servlet过虑器, 用来校验用户安全的登陆和输出的编码;

5. 异步信息发送组件,传输使用XML封装的订单到订单处理中心;

6. 一个安装程序,用来产生例子数据库。

分析宠物商店的应用

下面就按照MVC架构和层次化应用模型来分析这个应用。

模型—视图—控制架构

1.应用模型划分方法

分析一个实际应用可以有三种划分的方法:第一种划分方法为模型—视图—控制(MVC)架构。这种方法把应用分解成数据、显示和控制三个部分。第二种划分方法把应用按照不同的角色划分成不同的层次,分离客户端、Web层、EJBs层和底端的数据层或遗留系统层,即J2EE应用的层次划分方法。第三种划分是传统的功能模块划分。

划分的目的是使复杂的问题清楚化、条理化。每一种划分虽然增加了额外的复杂姓,但也有它的好处。MVC架构为应用组件提供一个灵活的、可重用的、易测试的、可扩展的和清楚的设计角色。多层设计使实现技术的选择灵活,同时具有可升级和可扩展姓。模块化的设计把系统分解成小的直接模块,可以进行单独分析、测试和理解。

现在企业级应用与以前相比,要更多地支持使用不同类型接口的多类型用户,例如在线商店需要为Web顾客提供HMTL主页、为

顾客提供XML主页、为系统治理员提供JFC/Swing接口、为供给商提供基于XML的Web服务等(见图4)。

图5 MVC架构

MVC架构起源于Smalltalk,最初用来在传统的图形用户界面模型中映射输入、处理和输出任务。然而,它可以直接用来映射多层企业应用中的相关概念,具体概念介绍如下:

模型(Model)代表企业数据和业务规则,用来控制访问和数据更新。模型是接近现实世界的服务软件,因此现实世界的建模技术可以应用模型。

视图(View)代表模型的内容。它通过模型访问企业数据并指定这些数据的显示。视图负责模型状态改变后呈现给用户的数据也相应改变。可以通过推(Push)模型实现,即视图在模型中注册获取更新指令,或者拉(Pull)模型,即由视图负责在需要获取最新数据的时候调用模型。

控制(Controller)把与视图交互转化成模型执行的动作。在独立运行的GUI客户端,用户交互可能是按钮或菜单,而在Web应用中是GET和POST HTTP请求。模型执行的动作包括激活业务处理进程或改变模型状态。以用户交互和模型动作结果为基础,控制通过选择合适的视图完成相应功能。

MVC架构有如下优点:

◆ 多视图使用同一模型。模型与视图分离答应多视图使用同一企业模型。因此,企业级应用模型组件轻易实现、测试和维护。

◆ 轻易支持新类型的客户端。支持一个新类型的客户端,只需写一个视图和控制,然后把它连到现存的企业模型中。

分析Java Pet Store应用

视图是用户界面和应用程序的接口。在Java Pet Store中,视图在Web层实现。共有三种组件实现视图:JSP页面、JSP自定义标记和JavaBean。视图部分涉及到三方面内容:

1.屏幕

屏幕是一个页面显示的所有内容。根据需要,在ScreenDefinitions.jsp中定义如下屏幕:

Name:MAIN_SCREEN,DEFAULT_SCREEN

Name:CATEGORY_SCREEN

Name:SEARCH_SCREEN

Name:PRODUCT_SCREEN

Name:PRODUCT_DETAILS_SCREEN

Name:CART_SCREEN

Name:CHECKOUT_SCREEN

Name:PLACEORDER_SCREEN

Name:COMMIT_ORDER_SCREEN

Name:SIGNIN_SCREEN

Name:SIGNUP_SCREEN

2.模板

因为要使整个网站的页面具有相同的特征,如每个页面都要有Logo、Banner等相同的元素,所以采用模板定义页面的不同组成部分。本示例中定义的模板元素有footer.jsp、banner.jsp和index.jsp等。ScreenDefinitions.jsp定义好的屏幕包括这些模板元素,通过include指令包含到页面中。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有