# 面向初学者的 RESTEasy 示例教程

> 原文： [https://howtodoinjava.com/resteasy/resteasy-tomcat-hello-world-application/](https://howtodoinjava.com/resteasy/resteasy-tomcat-hello-world-application/)

[**RESTEasy**](http://resteasy.jboss.org/ "resteasy") 是 JBOSS 提供的 JAX-RS 规范的实现，用于构建 [**REST API**](//howtodoinjava.com/restful-web-service/ "RESTEasy tutorials") 和 RESTful Java 应用。 尽管 RESTEasy 不限于仅在 JBOSS 中使用，我们也可以与其他服务器协作。 在此 **RESTEasy 示例**中，学习使用 eclipse 和 tomcat 在 Java 中创建静态的 Web 服务

## 1\. 开发环境

1.  RESTEasy 2.3.1.GA
2.  Tomcat 7
3.  JDK 1.6

请按照以下步骤构建演示应用。

## 2\. 创建 Maven Eclipse Web 项目

运行这些命令来创建一个 Maven 项目，并且可以转换为 Eclipse 项目。

```java
$ mvn archetype:generate -DgroupId=com.howtodoinjava -DartifactId=RESTfulDemoApplication 
-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

$ mvn eclipse:eclipse -Dwtpversion=2.0
```

## 3\. RESTEasy Maven 依赖项

```java
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.howtodoinjava</groupId>
  <artifactId>RESTfulDemoApplication</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>RESTfulDemoApplication Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <repositories>
   	<repository>
      <id>jboss</id>
      <url>http://repository.jboss.org/maven2</url>
   	</repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!-- core library -->
	<dependency>
		<groupId>org.jboss.resteasy</groupId>
		 <artifactId>resteasy-jaxrs</artifactId>
		<version>2.3.1.GA</version>
	</dependency>
	<dependency>
		<groupId>net.sf.scannotation</groupId>
		<artifactId>scannotation</artifactId>
		<version>1.0.2</version>
	</dependency>
  </dependencies>
  <build>
    <finalName>RESTfulDemoApplication</finalName>
  </build>
</project>

```

## 4\. 注册`HttpServletDispatcher`

**RESTeasy** 实现为 Servlet，并部署在 WAR 文件中。 `HttpServletDispatcher`类负责初始化 RESTeasy 的一些基本组件。

`resteasy.scan`属性会自动扫描`WEB-INF/lib` jar 和`WEB-INF/classes`目录中的`@Provider`和 JAX-RS 资源类（`@Path`，`@GET`，`@POST`等）并进行注册。

```java
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  	<display-name>Archetype Created Web Application</display-name>
  	<!-- Auto scan REST service -->
	<context-param>
		<param-name>resteasy.scan</param-name>
		<param-value>true</param-value>
	</context-param>

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

	<servlet-mapping>
		<servlet-name>resteasy-servlet</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
</web-app>

```

## 5\. 创建 REST 控制器

```java
package com.howtodoinjava.restful;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;

@Path("/user-management")
public class UserManagementModule
{
	@GET
	@Path("/users")
	public Response getAllUsers()
	{
		String result = "<h1>RESTful Demo Application</h1>In real world application, a collection of users will be returned !!";
		return Response.status(200).entity(result).build();
	}
}

```

## 6\. RESTEasy 示例应用演示

当我们在 tomcat 中部署以上构建的应用并单击 URL：“`http://localhost:8080/RESTfulDemoApplication/user-management/users`”时，以下是响应。

![JAX-RS + Tomcat example](img/40169f9b988f058b4b44bb983487eb1d.png)

JAX-RS + Tomcat 示例



要下载以上示例的源代码，请单击下面的链接。

[下载源码](https://docs.google.com/file/d/0B7yo2HclmjI4c25YSk9Gc3F6c2c/edit?usp=sharing "下载源码 of RESTEasy + tomcat")

学习愉快！