`

利用resteasy框架构建rest webservice----第一波:快速构建HelloWorld(实例、教程)

 
阅读更多
转载请标明出处:http://blog.csdn.net/caizhh2009/article/details/6934845

基于resteasy版本:2.2.1.GA

使用maven2.2.1作为构建和依赖管理工具

1.创建工程,配置pom.xml

mvn archetype:create -DgroupId=com.longtask.rest.easyrest -DartifactId=easyrest -DarchetypeArtifactId=maven-archetype-webapp

mvn eclipse:eclipse

注:使用m2eclipse插件可直接import
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   <groupId>rest.resteasy</groupId>  
  5.   <artifactId>rest-resteay-demo</artifactId>  
  6.   <packaging>war</packaging>  
  7.   <version>1.0</version>  
  8.   <name>rest-resteay-demo Maven Webapp</name>  
  9.   <url>http://maven.apache.org</url>  
  10.   <repositories>  
  11.         <repository>  
  12.             <id>java.net</id>  
  13.             <url>http://download.java.net/maven/1</url>  
  14.             <layout>legacy</layout>  
  15.         </repository>  
  16.         <repository>  
  17.             <id>maven repo</id>  
  18.             <name>maven repo</name>  
  19.             <url>http://repo1.maven.org/maven2/</url>  
  20.         </repository>  
  21.         <!-- For resteasy -->  
  22.         <repository>  
  23.             <id>jboss</id>  
  24.             <name>jboss repo</name>  
  25.             <url>http://repository.jboss.org/nexus/content/groups/public/</url>  
  26.         </repository>  
  27.     </repositories>  
  28.   <dependencies>  
  29.     <dependency>  
  30.             <groupId>org.jboss.resteasy</groupId>  
  31.             <artifactId>resteasy-jaxrs</artifactId>  
  32.             <version>2.2.1.GA</version>  
  33.             <!-- filter out unwanted jars -->  
  34.             <exclusions>  
  35.                 <exclusion>  
  36.                     <groupId>commons-httpclient</groupId>  
  37.                     <artifactId>commons-httpclient</artifactId>  
  38.                 </exclusion>  
  39.                 <exclusion>  
  40.                     <groupId>javax.servlet</groupId>  
  41.                     <artifactId>servlet-api</artifactId>  
  42.                 </exclusion>  
  43.                 <exclusion>  
  44.                     <groupId>javax.xml.bind</groupId>  
  45.                     <artifactId>jaxb-api</artifactId>  
  46.                 </exclusion>  
  47.                 <exclusion>  
  48.                     <groupId>com.sun.xml.bind</groupId>  
  49.                     <artifactId>jaxb-impl</artifactId>  
  50.                 </exclusion>  
  51.             </exclusions>  
  52.         </dependency>  
  53.   
  54.         <dependency>  
  55.             <groupId>org.jboss.resteasy</groupId>  
  56.             <artifactId>resteasy-jettison-provider</artifactId>  
  57.             <version>2.2.1.GA</version>  
  58.             <exclusions>  
  59.                 <exclusion>  
  60.                     <groupId>javax.xml.bind</groupId>  
  61.                     <artifactId>jaxb-api</artifactId>  
  62.                 </exclusion>  
  63.                 <exclusion>  
  64.                     <groupId>com.sun.xml.bind</groupId>  
  65.                     <artifactId>jaxb-impl</artifactId>  
  66.                 </exclusion>  
  67.                 <exclusion>  
  68.                     <groupId>javax.xml.stream</groupId>  
  69.                     <artifactId>stax-api</artifactId>  
  70.                 </exclusion>  
  71.             </exclusions>  
  72.         </dependency>  
  73.     <dependency>  
  74.       <groupId>junit</groupId>  
  75.       <artifactId>junit</artifactId>  
  76.       <version>3.8.1</version>  
  77.       <scope>test</scope>  
  78.     </dependency>  
  79.   </dependencies>  
  80.  <build>  
  81.         <finalName>rest-resteay-demo</finalName>  
  82.         <plugins>  
  83.             <plugin>  
  84.                 <groupId>org.apache.maven.plugins</groupId>  
  85.                 <artifactId>maven-compiler-plugin</artifactId>  
  86.                 <configuration>  
  87.                     <source>1.6</source>  
  88.                     <target>1.6</target>  
  89.                 </configuration>  
  90.             </plugin>  
  91.         </plugins>  
  92.     </build>  
  93. </project>  
这个不是重点:看不懂这个pom.xml没关系,也就是下载依赖包,打包,先继续往下看

2.编写jax-rs的服务类

  1. package resteasy.server;  
  2.   
  3. import javax.ws.rs.GET;  
  4. import javax.ws.rs.Path;  
  5. import javax.ws.rs.PathParam;  
  6.   
  7. @Path(value = "echo")  
  8. public class Echo {  
  9.     @GET  
  10.     @Path(value = "/{message}")  
  11.     public String echoService(@PathParam("message") String message)  
  12.     {  
  13.         return message;  
  14.     }  
  15. }  
@Path表示开启访问这个资源的路径

@GET表示响应HTTP 的get方法

@PathParam表示引用URI中得参数

详细的注解可参考我下面的参考文档

3.web.xml的配置

  1. <!DOCTYPE web-app PUBLIC  
  2.  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
  3.  "http://java.sun.com/dtd/web-app_2_3.dtd" >  
  4.   
  5. <web-app>  
  6.     <context-param>  
  7.         <param-name>resteasy.resources</param-name>  
  8.         <param-value>resteasy.server.Echo</param-value>  
  9.     </context-param>  
  10.    <listener>  
  11.       <listener-class>  
  12.          org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap  
  13.       </listener-class>  
  14.    </listener>  
  15.   
  16.    <servlet>  
  17.       <servlet-name>Resteasy</servlet-name>  
  18.       <servlet-class>  
  19.          org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher  
  20.       </servlet-class>  
  21.    </servlet>  
  22.   
  23.    <servlet-mapping>  
  24.       <servlet-name>Resteasy</servlet-name>  
  25.       <url-pattern>/*</url-pattern>  
  26.    </servlet-mapping>  
  27. </web-app>  
配置响应的listener和servlet无非就是初始resteasy的服务(先简单理解)

3.打包部署到响应的servlet容器即可(如tomcat),然后访问http://localhost:8080/rest-resteay-demo/echo/hello,world,网页上出现hello,world则成功
hello,world可换成任意字符,同样也将返回响应的字符

注:如果不使用maven,则可以到resteasy官网下载响应jar包即可

 

demo下载

 

下一章预告:阐述不同的方式用resteasy发布我们的restful webservice 服务,有问题可跟帖,一起讨论,共同进步

参考文献:

1.resteasy官方文档

2.resteasy wiki

3.jax-rs api

4.The Java EE 6 Tutorial

分享到:
评论

相关推荐

    使用RESTEasy构建WebService简介

    1. 快速构建HelloWorld示例,这是初学者学习RESTEasy的起点。 2. 使用不同方式发布RESTful Web服务,例如使用servletFilter注册服务类。 3. 实现非表单提交的文件上传功能。 4. 将RESTEasy与Spring集成,以提高服务...

    resteasy-base-atom-provider-3.0.6-4.el7.noarch.rpm

    离线安装包,亲测可用

    resteasy helloworld demo

    总的来说,“resteasy helloworld demo”是一个很好的起点,展示了如何利用 RESTEasy 和 JAX-RS 创建简单的 REST 服务。随着你对 RESTEasy 的深入理解,可以添加更多的注解、HTTP 方法、参数处理和错误处理,以构建...

    resteasy-jaxrs-2.3.2官方jar包

    RESTEasy是JBoss组织开发的一个开源项目,它是一个实现了Java JAX-RS(Java API for RESTful Web Services)规范的轻量级框架。JAX-RS是Java标准,用于简化创建和部署RESTful web服务。RESTEasy的目标是提供简单、...

    Resteasy JAX-RS 3.0.6-all.zip最新官方zip包

    Resteasy JAX-RS 3.0.6-all.zip 是一个包含了Resteasy框架的最新官方版本,该框架是基于Java的,主要用于实现JAX-RS(Java API for RESTful Web Services)规范。JAX-RS是一种标准接口,它定义了如何在Java应用程序...

    resteasy-jaxrs-2.3.4.Final-all开发包

    Resteasy是JBoss公司开发的一个开源项目,它是一个实现了Java API for RESTful Web Services (JAX-RS)标准的框架,用于构建RESTful服务。JAX-RS是Java平台上的一个规范,它为创建RESTful Web服务提供了一种简单、...

    resteasy-reference-guide-en-US.pdf

    《RESTEasy JAX-RS:RESTful Web ...总的来说,这份RESTEasy参考指南为Java开发者提供了一个全面的资源,涵盖了从基础概念到高级特性的所有方面,旨在帮助他们有效地利用RESTEasy构建和维护高效的RESTful Web服务。

    resteasy-jaxb-provider-3.0.7.Final.jar

    java运行依赖jar包

    resteasy-jaxrs-2.2 学习整理的例子

    RESTEasy是Java EE平台上的一个开源框架,它实现了Java API for RESTful Web Services (JAX-RS),使得开发RESTful服务变得更加简单。 **RESTEasy框架详解** RESTEasy是JBoss公司的一个项目,它为Java开发者提供了...

    resteasy-jaxrs-2.3.6.Final-all

    1. **易用性**:Resteasy提供了直观的API,使得开发人员能够快速上手创建REST服务。它支持注解驱动的编程模型,允许开发者通过在类和方法上添加注解来定义资源路径和操作。 2. **与Spring集成**:Resteasy可以无缝...

    resteasy-spring-poc-swagger:resteasy-spring-poc-swagger

    2. **Spring 框架集成**:Spring 提供了一个容器来管理 Bean,而 Resteasy 可以作为一个 Spring Bean 运行,这样可以利用 Spring 的依赖注入和生命周期管理功能。 3. **Swagger 文档化**:Swagger 的 YAML 或 JSON ...

    resteasy-spring-boot:RESTEasy Spring Boot Starter

    那里没有RESTEasy Spring Boot启动程序,因此PayPal团队决定创建一个启动程序并与社区共享。 该Spring Boot启动器具有完整的功能,上面具有ZERO PayPal特定的代码,并且可以由希望具有REST端点并更喜欢RESTEasy...

    resteasy-jaxrs-2.2.1.GA-src官方源码

    Resteasy是JBoss组织开发的一个开源项目,它是一个实现了Java RESTful Web Services(JSR 311)规范的框架,使得开发RESTful服务变得更加简单。这个“resteasy-jaxrs-2.2.1.GA-src”是Resteasy 2.2.1版本的源代码包...

    resteasy-base-resteasy-pom-3.0.6-4.el7.noarch.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    resteasy-jaxrs-2.3.2 源码

    Resteasy是Java应用程序开发中的一个关键组件,它是一个开源的JAX-RS(Java API for RESTful Web Services)实现。JAX-RS是Java标准,用于构建RESTful Web服务,而Resteasy则提供了丰富的功能来支持这一标准。在这个...

    resteasy-jackson-provider-3.0.7.Final.jar

    java运行依赖jar包

    resteasy-reference-guide-en-US

    ### RESTEasy JAX-RS:RESTful Web Services for ...综上所述,RESTEasy是一个功能强大且灵活的框架,非常适合用于构建RESTful Web服务。无论是基本的功能还是高级的特性,RESTEasy都能够满足大多数应用场景的需求。

    resteasy-base-jackson-provider-3.0.6-4.el7.noarch.rpm

    离线安装包,亲测可用

    RESTEasy 简单实例

    RESTEasy 是一个开源的 JBoss 项目,它实现了 Java API for RESTful Web Services (JAX-RS) 规范,使开发人员能够轻松地在 Java 应用程序中创建 RESTful Web 服务。RESTEasy 与 Java EE 和 Java SE 兼容,并广泛应用...

    resteasy示例

    JBoss RESTEasy 是一个用来使用Java语言开发 RESTFul Web服务的框架。RESTEasy 项目是 JAX-RS 的一个实现,集成的一些亮点: * 不需要配置文件,只要把JARs文件放到类路径里面,添加 @Path 注解就可以了。 * 完全...

Global site tag (gtag.js) - Google Analytics