主题

简介 To top of page

本指南关注确定Servlet。在指南:Servlets 中提供了关于 Servlets 的附加指南。

确定Servlets To top of page

Servlets 是与基于 Web 的客户端交互的服务器类。主要从 Web 体系结构中的控制类(请参阅指南:分析类)标识它们。可以使用它们生成 Web 页面以用于演示用途,但通常这更适合于 JSP(请参阅指南:JavaServer Page)。还可以使用它们在以 Web 为中心的部署配置中与数据库交互,如概念:J2EE 部署配置中所述。从 J2EE 1.4 开始,还可以将 servlets 用于实现 JAX-RPC 规范中定义的 Web 服务。

但是,对于有重大业务逻辑或需要 EJB 提供的功能的应用程序,更适于使用多层部署配置(请参阅概念:J2EE 部署配置)。在该情况中,通常使用 servlets 来协调表示逻辑并提供到 EJB 提供的业务逻辑和数据的桥梁。

典型的 servlet 用法是作为前端控制器(Front Controller)。前端控制器提供到应用程序的单一入口点,因此使安全性、应用程序状态和表示法统一并易于维护。前端控制器接受用户请求,处理请求并确定适当的表示组件以将它转发至该组件。请参阅核心 J2EE 设计模式 - 前端控制器([ALU01])以获取详细信息。

如果您的设计包含大量具有相似控制代码的 JSP,请考虑引入一个 servlet 以在一个位置合并该逻辑。

对 Servlets 建模To top of page

在 RUP 中使用工件:设计类表示 Servlets,并将其建模为类。将用于处理 HTTP 请求的 Servlets 定型为 <<HTTPServlet>>。将用于处理其它协议的 Servlets 定型为 <<GenericServlet>>。

可以认为每个 servlet 提供相同接口,单个操作服务各请求并提供标准客户端、会话和 servlet 环境信息。所以,对 servlet 建模的重点不在于定义接口操作,而是定义其职责以及它如何与其它设计元素(例如客户端、JSP、帮助函数类和 EJB 等)交互。

Web Service 端点 到页首

如上文所述,可以使用 servlets 实现 Web Service 并需要满足以下需求:

  • 它必须有一个缺省的公共构造函数。
  • 它必须实现服务端点接口所声明的所有方法,并且其业务方法必须是公共(public)的,而不是最终(final)或静态(static)的。
  • 它必须是无状态的。
  • 类必须是公共(public)的,但不是最终(final)或抽象(abstract)的。

Rational Unified Process   2003.06.15