基于RESTful的架构(五)

Adolphlwq 2011-01-07

基于JAX-RS的具体实现

1.1.  JBoss RESTEasy示例

RESTEasy是JBoss的开源项目之一,是一个RESTful Web Services框架。RESTEasy的开发者Bill Burke同时也是JAX-RS的J2EE标准制定者之一。JAX-RS是一个JCP制订的新标准,用于规范基于HTTP的RESTful Web Services的API。

RESTEasy的一些功能点

l  实现中遵守 JAX-RS 规范

l  需要 JDK 5 或者以上版本的应用服务器中运行

l  支持在应用服务器中作 junit 测试

l  使用annotations更简单的写客户端应用 (JAX-RS 只定义了服务器端的)

l  支持HTTP 1.1缓存语义包括缓存。

l  支持多种格式: XML, JSON, YAML, Fastinfoset, Multipart, XOP, Atom, etc.

l  支持JAXB 和XML, JSON, Jackson, Fastinfoset, and Atom 互转

l  支持GZIP ,JBoss Web, Tomcat 6, and Servlet 3.0,EJB, Seam, Guice, Spring, and Spring MVC integration

 

创建一个名为 “Jersey” 的WEB应用程序

设置 Jersey 的环境

resteasy-jaxrs.jar

resteasy-jaxb-provider.jar

resteasy-oauth.jar

resteasy-atom-provide.jar

resteasy-cache-core.jar

可以到http://repository.jboss.org/maven2下载以上包。

在 web.xml 文件中定义 Jersey servlet 调度程度

<web-app>

<context-param>

      <param-name>javax.ws.rs.core.Application</param-name>

      <param-value>com.longtask.rest.resteasy.EasyRestApplication</param-value>

   </context-param>

   <context-param>

      <param-name>resteasy.servlet.mapping.prefix</param-name>      <param-value>/services</param-value>

   </context-param>

   <listener>

     <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap </listener-class>

   </listener>

   <servlet>

      <servlet-name>Resteasy</servlet-name>

      <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher </servlet-class>

   </servlet>

   <servlet-mapping>

      <servlet-name>Resteasy</servlet-name>

      <url-pattern>/services/*</url-pattern>

   </servlet-mapping>

</web-app>

 

相关推荐