快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

J2EE探险者: 用于无状态网络的J2EE技术

时间:2011-01-31 IBM Kyle Gabhart

在最近几年里,Java 行业的发展呈指数级增长。作为一名企业应用程序开发人员、架构设计师或者技术经理,您可以从许多供应商、最佳实践、规范和组件类型中为您的 Java 技术实现进行选择。J2EE 探险者系列的目的是帮助您从这些选择中找到一条途径,对于任何一种给定的情形,协助您挑选合适的技术。

在本文,也就是第 1 部分中,我们将探讨无状态 J2EE 组件,并评估出最合适的组件来用于您的企业体系结构。说到无状态、请求处理组件,可供选择的 J2EE 技术主要有两种:servlet 或 Enterprise JavaBeans 技术 ― 或更具体一点,无状态会话 bean。

一般而言,servlet 和 EJB 组件是设计用于作为企业体系结构的事务管理组件。每一种技术都有其长处。servlet 体系结构的长处在于它的整体效率和相对简单性。而 EJB 组件则更健壮,因此开发、维护和调试要更复杂。

我们首先简要讨论一下无状态(相对于有状态)网络的质量,然后从正反两方面详细探讨这两种无状态技术。在文章最后,我们泛泛地探讨一下 J2EE 企业编程中最常见的一些应用程序设置,以及对应我们所讨论的这两种选择的最佳技术解决方案。

请注意,从本文的目的出发,JSP(Java ServerPages)技术被认为是特殊类型的 servlet。考虑到在执行每个 JSP 页面之前先将其转换成 servlet,因此这种说法不难理解。因为 servlet 固有的无状态性,所以我们只考虑无状态会话 bean 以及它们为处理无状态客户机请求所提供的特性。本系列的下一篇文章将对有状态会话 bean 与 servlet 和 HTTP 会话 API 进行比较。

无状态网络

可以将 Web 应用程序协议分为两大类:无状态和有状态。协议的 状态是指下一次传输可以“记住”这次传输信息的能力。有状态协议能够根据客户机以前的请求创建上下文。无状态协议没有上下文;每个请求都是与服务器的独立连接。

HTTP 就是一个很好的无状态协议的示例,它建立在客户机-服务器请求和响应的基础之上。在 HTTP 中,不会为下一次请求维护这次请求中客户机-服务器间交互的信息。

当然,由于无法维护状态,因特网将只能成为漂亮的百科全书、电子黄页以及 Shockwave.com 上很酷的动画游戏。因此,出现了一些技巧在 HTTP 上模拟有状态会话。有状态信息可以存储在 HTML 表单域或用户机器的 cookie 中,也可以附到超级链接中。然后,应用程序开发人员负责管理、跟踪和维护客户机的状态以确保会话过程顺畅、安全以及让人着迷。

servlet 的适用情况

servlet 体系结构被设计成灵活的、与平台无关的组件模型,它在服务器上执行,并处理客户机的请求。Servlet 很 灵活,因为它们是由服务器的部署描述符(它是特定于服务器的)和 Web 应用程序部署描述符(它是由 J2EE 规范定义的,与服务器无关,例如 web.xml)两者的组合唯一地配置的。Servlet 之所以 与平台无关是因为它们可以运行在任何 OS 上(这得益于 JVM),可以在任何 J2EE Web 服务器中运行(这得益于 J2EE 标准)。最后,servlet 体系结构是一个 组件模型,因为它使开发人员可以编写周全的、可实现特定接口的组件。然后在运行时将这些组件组装起来,以处理客户机请求。

虽然 servlet 通常处理 HTTP 请求,但 servlet 体系结构与协议无关。servlet 接口定义了与 servlet 通信所需的基本方法,而不用考虑网络协议。为了简单起见以及由于 HTTP servlet 是最常用的类型,因此我们将只讨论 HTTP servlet。事实上,如果从 HTTPServlet 扩展定制的 servlet 类,则无需担心解析 HTTP 请求流、抽取参数或其它任何典型的 HTTP 处理活动中所涉及到的细节, 就能够方便地使用和处理 HTTP 通信。

J2EE探险者: 用于无状态网络

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号