Java EE 5 - 强大的功能、高生产率和低复杂性 - 编程入门网
E 5 容器用它做什么。我将稍后解释。
复杂的运行时行为 当部署到 Java EE 5 容器时,JAX-WS 处理 清单 1 中的 @WebService 注解,并将 RideStatistics 类转换为一个完整的 Web 服务端点,这个端点包含两个操作:rideOffersFromZipCode 和 rideOffersFromToZipCode。JAX-WS 处理提供 Web 服务所需的所有工作,包括生成 Web Services Description Language(WSDL),让 Web 上的其他应用程序能够发现并使用这个 Web 服务,还提供机制响应对 Web 服务的客户机请求。 JAX-WS 为 RideStatistics Web 服务生成 WSDL 的默认位置是 http://server:port/ridesynergy2-war/RideStatisticsService?WSDL。按照以下步骤查看这个 WSDL: 下载 RideSynergy 企业存档文件 ridesynergy2.ear并将它部署到 Java EE 5 容器中。 将默认位置中的 server 和 port 值替换为容器的主机名和端口。 在浏览器中访问这个位置。 更复杂的注解 清单 1 中的注解只是简单的注解。注解还可以接受命名元素(named element),这种元素与方法参数相似,但是参数的次序和数量不重要,因为每个参数都有名称。使用命名元素就像是将一个映射传递给注解,其中包含的键/值对可以决定处理注解的方式。 WeatherForecastSoap 接口(见清单 3)是由 JAX-WS 中的 wsimport 工具创建的,其中包含接受命名元素的注解。清单 3 给出 WeatherForecastSoap 接口: 清单 3. WeatherForecastSoap 接口
在清单 3 中,getWeatherByZipCode() 方法上有一个 @WebMethod 注解,这个注解有两个命名元素:operationName 和 action。getWeatherByZipCode() 的 zipCode 参数上有一个 @WebParam 注解,这个注解包含命名元素 name 和 targetNamespace(注意在实际应用程序中,getWeatherByZipCode() 还有其他注解,这里省略掉了)。 定义注解的代码指定注解接受哪些命名元素(如果有的话)。 Java EE 5 - 强大的功能、高生产率和低复杂性(7)时间:2011-01-31 IBM Scott Moore声明无状态会话 bean 清单 4 给出 RideManagerBean 的类声明,这个无状态会话 bean 实现了 清单 1 所示的 RideManagerRemote 接口: 清单 4. 无状态会话 bean 声明
在 J2EE 1.4 中,EJB 必须实现 SessionBean 接口,这个接口要求实现六个方法。在许多情况下,这些方法实现都是空的,它们之所以存在只是为了满足接口的要求,让代码能够通过编译,这使代码很杂乱。EJB 3.0 通过提供生命周期注解 @PostConstruct、@PreDestroy、@PostActivate 和 @PrePassivate 消除了这种混乱。可以根据需要将这些注解添加到适当的方法上,从而实现对生命周期事件的响应;只要求这些方法是公共方法,没有参数并返回 void。 用注解替代部署描述符 Java EE 5 中的注解还可以消除以前的 Java EE 版本所需的大量配置代码。例如,清单 4 中的 @Stateless 注解可以替代 EJB 部署描述符,EJB 部署描述符是一个 XML 配置文件,它向容器提供 EJB 的细节。在以前的 Java EE 平台中,必须在一个符合 EJB 2.1 模式的 XML 文件中包含这样的描述符。清单 5 给出配置 RideManagerBean 和所需接口的代码片段: 清单 5. Java EE 5 以前的部署描述符
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |