J2EE宠物商店 (1) |
作者:佚名 发布时间:2005-04-02 来源:不详
|
J2EE 是Java技术在企 据库运算、JMS信息传递、J 为了让使用者可以有一个设 店(Pet Store)”。这个 。这个系统是使用正规方式 范例一出来,很快就被用来 Server(Oracle 9iAS)、B
|
业运算上的应用,它包含多种运 ava Servlets/JSP等Web组件程 计J2EE架构应用程序的模板,Su 网上宠物店的范例是针对已经熟 设计出来的,使得使用J2EE架构 当成比较各家J2EE兼容产品的依 EA WebLogic Server、
|
算标准,如EJB组件架构、JDBC数 序等,功能强大且内容博大精深。 n做出一套系统名为“Java宠物商 悉Java程序设计和J2EE概念人员的 的人员有了一个参考的依据。这个 据。Oracle的J2EE Application
|
WebSphere都有相应的 再根据这个标准来评选出最
|
产品。Java标准的精神原本就是 优产品。
|
各家厂商合作制定技术标准,然后
|
Java Pet Store使 el-View-Controller的简写 类,Model对象专门用来包 责定义应用程序的各种动作 的对象清楚地分开。Java宠 (3-Tiers)式设计:资料 是单纯存放资料的关系型数 ,并没有特别针对加速执行
|
用的架构设计就是所谓的MVC 设 ,是设计模式的一种,源自Smal 装应用程序的状态,View用来负 和反应。Java宠物店系统利用MV 物店的目的是展示一个具有扩充 展现层在最外面,中间是执行企 据库。Java宠物店当初的用意也 效能作额外的设计。
|
计模式。MVC是Mod ltalk。MVC模式则是将对象分成三 责屏幕上的展现,Controller则负 C模式设计整个系统架构,将各层 姓的企业运算架构,就是采用三层 业运算逻辑的中间层组件,后端就 只是当成一个J2EE架构设计的模板
|
Pet Store网站系统采用松耦合 个例子共分成4个部分:
|
的设计架构,可以和多个数据源、EIS进行交互。这
|
在图3中,控制模块控制所有的交互和执行,每个用户会话都有一个购物车对应。 |
2. JSP页面, 定义了整个应用 JSP文件,以及各种被引用的图形文件;
|
的视图框架模板(template.jsp)和模板组成的各个
|
3. XML文件,用来 signOn以及J2EE部署的部署
|
定义屏幕、屏幕跳转控制、绑定 XML文件;
|
URL到某个HTML Action、定制
|
4. Servlet过虑器, 用来校验用户安全的登陆和输出的编码; |
5. 异步信息发送组件,传输使用XML封装的订单到订单处理中心; |
下面就按照MVC架构和层次化应用模型来分析这个应用。 |
分析一个实际应用可以有三种划分的 架构。这种方法把应用分解成数据、显示 角色划分成不同的层次,分离客户端、We 应用的层次划分方法。第三种划分是传统
|
方法:第一种划分方法为模型—视图—控制(MVC) 和控制三个部分。第二种划分方法把应用按照不同的 b层、EJBs层和底端的数据层或遗留系统层,即J2EE 的功能模块划分。
|
划分的目的是使复杂的 有它的好处。MVC架构为应 设计角色。多层设计使实现 统分解成小的直接模块,可
|
问题清晰化、条理化。每一种划 用组件提供一个灵活的、可重用 技术的选择灵活,同时具有可升 以进行单独分析、测试和理解。
|
分虽然增加了额外的复杂姓,但也 的、易测试的、可扩展的和清晰的 级和可扩展姓。模块化的设计把系
|
现在企业级应用与以前 店需要为Web顾客提供HMTL
|
相比,要更多地支持使用不同类 主页、为
|
型接口的多类型用户,例如在线商
|
顾客提供XML主页、为 等(见图4)。
|
系统管理员提供JFC/Swing接口
|
、为供应商提供基于XML的Web服务
|
MVC架构起源于Smalltalk,最初用来 任务。然而,它可以直接用来映射多层企
|
在传统的图形用户界面模型中映射输入、处理和输出 业应用中的相关概念,具体概念介绍如下:
|
模型(Model)代表企业数据和业务 界的服务软件,因此现实世界的建模技术
|
规则,用来控制访问和数据更新。模型是接近现实世 可以应用模型。
|
视图(View)代表模型 责模型状态改变后呈现给用 型中注册获取更新指令,或 模型。
|
的内容。它通过模型访问企业数 户的数据也相应改变。可以通过 者拉(Pull)模型,即由视图负
|
据并指定这些数据的显示。视图负 推(Push)模型实现,即视图在模 责在需要获取最新数据的时候调用
|
控制(Controller)把 户交互可能是按钮或菜单, 业务处理进程或改变模型状 完成相应功能。
|
与视图交互转化成模型执行的动 而在Web应用中是GET和POST HTT 态。以用户交互和模型动作结果
|
作。在独立运行的GUI客户端,用 P请求。模型执行的动作包括激活 为基础,控制通过选择合适的视图
|
◆ 多视图使用同一模型。模型与视 应用模型组件容易实现、测试和维护。
|
图分离允许多视图使用同一企业模型。因此,企业级
|
◆ 容易支持新类型的 把它连到现存的企业模型中
|
客户端。支持一个新类型的客户 。
|
端,只需写一个视图和控制,然后
|
视图是用户界面和应用 组件实现视图:JSP页面、J
|
程序的接口。在Java Pet Store SP自定义标记和JavaBean。视图
|
中,视图在Web层实现。共有三种 部分涉及到三方面内容:
|
屏幕是一个页面显示的所有内容。根 :
|
据需要,在ScreenDefinitions.jsp中定义如下屏幕
|
Name:MAIN_SCREEN,DEFAULT_SCREEN |
Name:PRODUCT_DETAILS_SCREEN |
因为要使整个网站的页 ,所以采用模板定义页面的 banner.jsp和index.jsp等 include指令包含到页面中
|
面具有相同的特征,如每个页面 不同组成部分。本示例中定义的 。ScreenDefinitions.jsp定义 。
|
都要有Logo、Banner等相同的元素 模板元素有footer.jsp、 好的屏幕包括这些模板元素,通过
|
|
|
|
|
|