`

利用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. <projectxmlns="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.0http://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-demoMavenWebapp</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>mavenrepo</id>
  18. <name>mavenrepo</name>
  19. <url>http://repo1.maven.org/maven2/</url>
  20. </repository>
  21. <!--Forresteasy-->
  22. <repository>
  23. <id>jboss</id>
  24. <name>jbossrepo</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. <!--filteroutunwantedjars-->
  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. <dependency>
  54. <groupId>org.jboss.resteasy</groupId>
  55. <artifactId>resteasy-jettison-provider</artifactId>
  56. <version>2.2.1.GA</version>
  57. <exclusions>
  58. <exclusion>
  59. <groupId>javax.xml.bind</groupId>
  60. <artifactId>jaxb-api</artifactId>
  61. </exclusion>
  62. <exclusion>
  63. <groupId>com.sun.xml.bind</groupId>
  64. <artifactId>jaxb-impl</artifactId>
  65. </exclusion>
  66. <exclusion>
  67. <groupId>javax.xml.stream</groupId>
  68. <artifactId>stax-api</artifactId>
  69. </exclusion>
  70. </exclusions>
  71. </dependency>
  72. <dependency>
  73. <groupId>junit</groupId>
  74. <artifactId>junit</artifactId>
  75. <version>3.8.1</version>
  76. <scope>test</scope>
  77. </dependency>
  78. </dependencies>
  79. <build>
  80. <finalName>rest-resteay-demo</finalName>
  81. <plugins>
  82. <plugin>
  83. <groupId>org.apache.maven.plugins</groupId>
  84. <artifactId>maven-compiler-plugin</artifactId>
  85. <configuration>
  86. <source>1.6</source>
  87. <target>1.6</target>
  88. </configuration>
  89. </plugin>
  90. </plugins>
  91. </build>
  92. </project>
这个不是重点:看不懂这个pom.xml没关系,也就是下载依赖包,打包,先继续往下看

2.编写jax-rs的服务类

  1. packageresteasy.server;
  2. importjavax.ws.rs.GET;
  3. importjavax.ws.rs.Path;
  4. importjavax.ws.rs.PathParam;
  5. @Path(value="echo")
  6. publicclassEcho{
  7. @GET
  8. @Path(value="/{message}")
  9. publicStringechoService(@PathParam("message")Stringmessage)
  10. {
  11. returnmessage;
  12. }
  13. }
@Path表示开启访问这个资源的路径

@GET表示响应HTTP 的get方法

@PathParam表示引用URI中得参数

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

3.web.xml的配置

  1. <!DOCTYPEweb-appPUBLIC
  2. "-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
  3. "http://java.sun.com/dtd/web-app_2_3.dtd">
  4. <web-app>
  5. <context-param>
  6. <param-name>resteasy.resources</param-name>
  7. <param-value>resteasy.server.Echo</param-value>
  8. </context-param>
  9. <listener>
  10. <listener-class>
  11. org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
  12. </listener-class>
  13. </listener>
  14. <servlet>
  15. <servlet-name>Resteasy</servlet-name>
  16. <servlet-class>
  17. org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
  18. </servlet-class>
  19. </servlet>
  20. <servlet-mapping>
  21. <servlet-name>Resteasy</servlet-name>
  22. <url-pattern>/*</url-pattern>
  23. </servlet-mapping>
  24. </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-resteasy-pom-3.0.6-4.el7.x64-86.rpm.tar.gz

    1、文件内容:resteasy-base-resteasy-pom-3.0.6-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/resteasy-base-resteasy-pom-3.0.6-4.el7.tar.gz #Step2...

    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 jar包

    Resteasy是一款开源的Java框架,专门用于实现RESTful(Representational State Transfer)Web服务。它是一个JAX-RS(Java API for RESTful Web Services)的实现,允许开发人员轻松地在Java应用程序中创建和消费REST...

    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可以无缝...

    Netty-Resteasy-Spring

    RESTEasy:RESTEasy是JBoss的一个开源项目,提供各种框架帮助你构建RESTful Web Services和RESTful Java应用程序。它是JAX-RS规范的一个完整实现并通过JCP认证。 JAX-RS: 是一套用java实现REST服务的规范。(全名...

    resteasy-base-jettison-provider-3.0.6-4.el7.x64-86.rpm.tar.gz

    1、文件内容:resteasy-base-jettison-provider-3.0.6-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/resteasy-base-jettison-provider-3.0.6-4.el7.tar...

    resteasy-base-providers-pom-3.0.6-4.el7.x64-86.rpm.tar.gz

    1、文件内容:resteasy-base-providers-pom-3.0.6-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/resteasy-base-providers-pom-3.0.6-4.el7.tar.gz #...

    resteasy-base-jaxb-provider-3.0.6-4.el7.x64-86.rpm.tar.gz

    1、文件内容:resteasy-base-jaxb-provider-3.0.6-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/resteasy-base-jaxb-provider-3.0.6-4.el7.tar.gz #...

    resteasy-base-jackson-provider-3.0.6-4.el7.x64-86.rpm.tar.gz

    1、文件内容:resteasy-base-jackson-provider-3.0.6-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/resteasy-base-jackson-provider-3.0.6-4.el7.tar....

    resteasy-base-atom-provider-3.0.6-4.el7.x64-86.rpm.tar.gz

    1、文件内容:resteasy-base-atom-provider-3.0.6-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/resteasy-base-atom-provider-3.0.6-4.el7.tar.gz #...

    resteasy-base-tjws-3.0.6-4.el7.x64-86.rpm.tar.gz

    1、文件内容:resteasy-base-tjws-3.0.6-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/resteasy-base-tjws-3.0.6-4.el7.tar.gz #Step2、进入解压后的...

    resteasy-base-javadoc-3.0.6-4.el7.x64-86.rpm.tar.gz

    1、文件内容:resteasy-base-javadoc-3.0.6-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/resteasy-base-javadoc-3.0.6-4.el7.tar.gz #Step2、进入解压...

Global site tag (gtag.js) - Google Analytics