快速业务通道

J2EE探险者: 用于无状态网络的J2EE技术 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
的J2EE技术(2) 时间:2011-01-31 IBM Kyle Gabhart

servlet 体系结构

人们通常将模型-视图-控制器(MVC)设计模式应用于需要某类人机界面的情形。该模式源自 Smalltalk 社区,在那里用它来构建灵活的且可重用的用户界面。Servlet 天生就适合于 MVC 设计方法。在这种体系结构中, 模型是指正在被访问数据的结构和类型。模型组件通常包含业务逻辑,业务逻辑控制数据访问并为一个或多个视图服务。视图提供了用户界面,用户或应用程序组件可以通过用户界面来访问模型。可以用多个视图来提供模型的各个界面。最后, 控制器组件协调整个通信。控制器处理客户机输入、操作模型以及决定将哪个视图发送给给定的客户机。

从体系结构角度来讲,servlet 可充当控制器和视图。通常,将 JSP 页面用作视图组件,将 JSP 页面或纯 servlet 用作控制器组件。Servlet 在处理如内容格式化和显示、基本请求处理、安全请求等等之类的用户交互工作时很有效。通常,servlet 会使用助手类(通常为 JavaBean 样式的类)来处理繁重的工作,或使用这些类与后端组件进行相互操作。这就允许 servlet 层专注于客户机交互,而不是业务处理。

Servlet 是非常轻量级的,因为只需要有限的资源来初始化以及维护 servlet 实例。servlet 的可伸缩性非常平滑和有效。在 servlet 体系结构下,给定的 servlet 实例通过为每个请求产生新的线程并在每个线程内执行 service() 方法来同时处理多个请求。图 1 显示了 servlet 实例的生命周期,展示了它的轻量级可伸缩性。

图 1. servlet 线程模型

J2EE探险者: 用于无状态网络的J2EE技术 - 编程入门网

无论是否需要管理 servlet 容器、设置服务器负载均衡、处理简单的 HTML 表单或甚至对 HTTP 数据流执行复杂的处理,servlet 体系结构和 API 都能使 Web 应用程序开发和部署变得非常容易。用 servlet 容器设置和管理 Web 服务器非常简单,只需要很少的配置。对于服务器部署,通常一个或两个 XML 文件就包含所有所需的配置设置。对 servlet 进行编程也很简单。servlet API 对以下过程中所涉及到的细节进行了抽象:截取客户机请求、将请求路由至相应的 servlet 实例、从线程池检索线程、调用正确的方法来处理请求( doGet() 、 doPost() 或其它任何从 service() 方法调用的方法)以及甚至为抽取和处理编码的 HTTP 数据提供方便的 API。

会话 bean 的适用情况

EJB 体系结构还被设计用来提供灵活的、与平台无关的、服务器端的组件模型。在这些特性和实现方面,EJB 规范是 Servlet 规范的翻版。通过使用用于部署阶段绑定的部署描述符,两种技术都具有灵活性;得益于 JVM 和 J2EE 规范,两种技术都与平台无关;两种技术都提供了服务器端组件模型,这两种模型使用接口和抽象类以减少开发时间和麻烦,并确保了最优的组件重用性。另外,无状态会话 bean 从 EJB 容器获得了一些好处,包括声明的安全性、声明的事务上下文、与其它企业 bean 的可配置关系,以及可以方便地通过资源管理器连接工厂与其它 J2EE API(譬如 JMS、JavaMail 和 JDBC)集成。

最初,与企业 bean 通信是通过人机接口进行的,最终是通过 bean 的 home 接口或本地接口进行。由于外部客户机不能使用本地接口,因此我们只探讨远程接口。通过使用 Java 远程方法调用(RMI)与远程接口进行通信。RMI 是特定于 Java 平台的网络协议,它使 Java 对象可以与远程 Java 对象进行交互,就好象该远程对象在本地一样。因此,只有 Java 组件(applet、servlet、AWT、Swing 和非 GUI Java 应用程序等)可直接用作 EJB 客户机。其它任何客户机类型(譬如手机、浏览器或非 Java 应用程序)都必须通过 Java 应用程序进行通信。

EJB 体系结构

从体系结构的角度,会话 bean 可以用作视图、控制器或甚至模型本身。通常,它们还实现

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号