您的位置:首页 > 其它

JAX-RS之Jersey入门

2017-07-23 20:38 288 查看

目录

概念

创建基本web框架

修改pom依赖

使用Jersey创建rest服务

部署到tomcat

Demo下载地址

参考文献

概念

JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java注解来简化Web服务的客户端和服务端的开发和部署。

基于JAX-RS实现的框架有Jersey,RESTEasy等,以下教程是使用Jersey框架

创建基本web框架

maven创建

mvn archetype:generate -DgroupId=com.ash -DartifactId=test-jax-rs -DarchetypeArtifactId=maven-archetype-webapp


导入Eclipse

修改pom依赖

servlet

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>


Jersey的核心服务端实现

<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.25.1</version>
</dependency>


Jersey运行环境需要依赖的jar包,根据运行的环境的不同依赖的container不同。

<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.25.1</version>
</dependency>


添加以上依赖,环境算是搭建好了,下面创建一个简单的jersey实例

使用jersey创建rest服务

添加如下class



修改web.xml

<!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>
<servlet>
<servlet-name>jersey</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
com.ash
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

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


该修订的作用是注册org.glassfish.jersey.servlet.ServletContainer servlet,并通过init-param参数jersey.config.server.provider.packages指定rest服务所在文件夹com.ash,多个以逗号分隔。

当然也可以指定单独的类,通过jersey.config.server.provider.classnames参数

部署到tomcat

在浏览器输入http://localhost:8080/test-jax-rs/rest/hello/jersey,如下图所示:



其中的jersey可以任意替换

Demo下载地址 http://pan.baidu.com/s/1bpq3QVl

参考文献

jersey1.X与jersey2.X的区别

JAX-RS Tutorial

jersey Homepage

Modules and dependencies

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: