此示例说明了如何配置Jersey,以便您可以开始将其用作RESTful API的JAX-RS实现框架。
假设您已经安装了Apache Maven,请按照以下步骤设置Jersey:
创建Maven Web项目结构,在终端(Windows)中执行以下命令
mvn archetype:generate -DgroupId= com.stackoverflow.rest -DartifactId= jersey-ws-demo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
注意:要支持Eclipse,请使用Maven命令: mvn eclipse:eclipse -Dwtpversion = 2.0
转到创建maven项目的文件夹,在pom.xml中,添加所需的依赖项
<dependencies> <!-- Jersey 2.22.2 --> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>${jersey.version}</version> </dependency> <!-- JSON/POJO support --> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey.version}</version> </dependency> </dependencies> <properties> <jersey.version>2.22.2</jersey.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
在Web.xml中,添加以下代码
<servlet> <servlet-name>jersey-serlvet</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <!-- Service or resources to be placed in the following package --> <param-value>com.stackoverflow.service</param-value> </init-param> <!-- Application configuration, used for registering resources like filters --> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.stackoverflow.config.ApplicationConfig</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Url mapping, usage-http://domainname:port/appname/api/ --> <servlet-mapping> <servlet-name>jersey-serlvet</servlet-name> <url-pattern>/api/*</url-pattern> </servlet-mapping>
该ApplicationConfig班
public class ApplicationConfig extends ResourceConfig { public ApplicationConfig() { register(OtherStuffIfNeeded.class); } }
还应当指出的是,如果你想要去的任何web.xml中,你可以简单地摆脱它,并添加@ApplicationPath("/api")上的顶级ApplicationConfig类。
@ApplicationPath("/api") public class ApplicationConfig extends ResourceConfig { public ApplicationConfig() { // 此调用与 // jersey.config.server.provider.packages // 在web.xml中:它扫描该程序包中的资源和提供程序。 packages("com.stackoverflow.service"); } }
构建和部署您的Maven项目。
现在,您可以设置Java RESTful Web服务(JAX-RS)类以使用Jersey的jars。