原文: https://howtodoinjava.com/resteasy/resteasy-tomcat-hello-world-application/
RESTEasy 是 JBOSS 提供的 JAX-RS 规范的实现,用于构建 REST API 和 RESTful Java 应用。 尽管 RESTEasy 不限于仅在 JBOSS 中使用,我们也可以与其他服务器协作。 在此 RESTEasy 示例中,学习使用 eclipse 和 tomcat 在 Java 中创建静态的 Web 服务
1. 开发环境
- RESTEasy 2.3.1.GA
- Tomcat 7
- JDK 1.6
请按照以下步骤构建演示应用。
2. 创建 Maven Eclipse Web 项目
运行这些命令来创建一个 Maven 项目,并且可以转换为 Eclipse 项目。
$ mvn archetype:generate -DgroupId=com.howtodoinjava -DartifactId=RESTfulDemoApplication
-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
$ mvn eclipse:eclipse -Dwtpversion=2.0
3. RESTEasy Maven 依赖项
<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
等)并进行注册。
<!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 控制器
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 示例
要下载以上示例的源代码,请单击下面的链接。
学习愉快!