`
- 浏览:
31438 次
-
之前对于Webservice已经看了很多,包括axis,axissession校验(保持会话),cxf,jsr311等等,今天看了jersey,简单的写了一个例子。分享给入门的朋友。
jersey是一种restful框架,使用它为我们提供接口。有三块重要的东西,jersey-server,jersey-core, 集成(与spring等等)
codeing之前,先看看需要什么东西,也就是jar
我用的是maven工程,配置了
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1.13</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
</dependency>
都是在jersey开发中需要使用的,我加的比较全面。
说明一下:工程名字jerseydemo,包名 cn.thinkjoy.jerseydemo.resources.
在web.xml中配置
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>cn.thinkjoy.jerseydemo.resources</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
然后在包下写类文件:
import javax.annotation.Resources;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class HelloResource {
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHello() {
return "<html>hello world ! <br/><font color='red'>111</font></html>";
}
}
相关解释:
资源类(Resource Class):注意,资源类是一个简单的 Java 对象 (POJO),可以实现任何接口。这增加了许多好处,比如可重用性和简单。
注释(Annotation):在 javax.ws.rs.* 中定义,是 JAX-RS (JSR 311) 规范的一部分。
@Path:定义资源基 URI。由上下文根和主机名组成,资源标识符类似于 http://localhost:8080/Jersey/rest/hello。
@GET:这意味着以下方法可以响应 HTTP GET 方法。
@Produces:以纯文本方式定义响应内容 MIME 类型。
我用的jetty启动服务,代码如下:
import org.mortbay.jetty.Server;
import org.springside.modules.test.utils.JettyUtils;
public class StartServer {
public static final int PORT = 8080;
public static final String CONTEXT = "/jerseydemo";
public static final String BASE_URL = "http://localhost:8080/jerseydemo";
public static void main(String[] args) throws Exception {
Server server = JettyUtils.buildNormalServer(PORT, CONTEXT);
server.start();
System.out.println("Hit Enter in console to stop server");
try {
if (System.in.read() != 0) {
server.stop();
System.out.println("Server stopped");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行StartServer之后,在本地浏览器窗口 输入地址: http://localhost:8080/jerseydemo/rest/hello
可以看到返回的结果
结果就不给大家附上了。
这是一个很简单的入门级联系。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
jersey实现简单的rest接口 返回json数据
jersey的使用简单实例
jersey框架简单叙述以及 Jersey对HTTPS的支持, Jersey对Json的支持
使用maven工程管理项目、jersey框架搭建的简易web项目源码,适合初学者入门
通过上图,大概可以了解到webservice和jersey的关系了,然后我们需要了解RESTful是什么然后,知道了一些概念上的定义,就可以具体使用jersey,自己做了jerseyDemo来简单说名jersey的使用。另外,jersey1.X的版本是...
jersey构建简单的Restful服务!
jersey服务demo,用于jersey简单案例的demo。希望可以帮到大家。
一个Forums的小示例,来总体看一看用jersey(2.22.2)来架设一个RESTful Web服务.
简单可以用的Jersey2例子。学习入门的首选。
Jersey+Jetty框架简单搭建(包含文件上传下载)
使用jersey实现处理POST过来的表单信息,实现简单下载功能。
一个完整的Jersey的开发小例子,在MyEclipse直接导入工程,运行即可。
由于项目的需要,自己利用闲暇的时间在外部搭建了一个jersey和spring简单集成的环境,后期会随着相关业务的加入会变得更加庞大。1、环境的搭建(开发工具:eclipse,个人喜好吧,ide现期比较适应eclipse)对于jersey...
实现简单的crud 适用于初学者
在学习了一段时间的jersey后,感觉其中根据url自动调用对应类中的对应方法的思想很叼。于是思考它是怎么实现的,自己试着写了一份代码。 代码支持: 1. 根据字符串路径(/Test/add)调用对应资源方法 2. 支持从某一...
使用Jersey和Maven的简单JAX-RS示例 RESTful Web服务的JAX-RS或Java API是一种体系结构,可通过无状态通信协议(例如HTTP)提供信息交换。 它的简单之处在于它可以借助HTTP方法(例如GET,POST,PUT和DELETE)发送...
java jersey spring 集成 开发 restful API ,并将restful 返回的数据以JSON的格式返回,开发非常简单,易懂。欢迎小伙伴们 下载资源。
使用Jersey的简单RESTful应用程序
利用spring整合了Jersey和Protobuf,搭建了一个简单的Rest web service的工程,仅当作学习; 客户端是用python写的一个简单工程;