`
- 浏览:
32717 次
-
之前对于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是Java世界中广泛使用的开源框架,用于实现RESTful Web服务。本教程将详细介绍如何使用Jersey来搭建REST服务。 首先,了解REST的基本概念至关重要。REST是一种架构风格,它强调通过URI(统一资源标识符)来...
本教程将深入探讨如何使用Jersey来创建一个简单的REST接口,并返回JSON数据。 首先,让我们理解REST(Representational State Transfer)的核心概念。REST是一种软件架构风格,用于设计网络应用程序,它强调资源的...
使用Jersey,我们可以创建一个简单的Java类来表示REST资源。这个类通常会继承自`javax.ws.rs.core.Application`,并使用注解来定义资源路径和HTTP方法。例如: ```java @Path("/hello") public class ...
Jersey是Java的一个开源项目,它实现了Java API for RESTful Web Services (JAX-RS),这是一个标准接口,使得在Java平台上创建RESTful服务变得更加简单。以下是对压缩包中每个文件的基本解释和相关知识点: 1. **...
【标题】"Jersey初次使用有感" 在深入探讨 Jersey 的使用之前,首先需要了解它是什么。Jersey 是一个开源的 Java 框架,用于实现 RESTful Web 服务。它基于 JAX-RS(Java API for RESTful Web Services)规范,提供...
### Jersey 使用手册详解 #### 一、引言 在当今快速发展的互联网技术领域,RESTful Web服务已成为构建灵活、高效的应用程序的重要组成部分。Jersey作为Sun Microsystems推出的一款强大的开源REST API工具,它不仅...
【标题】:“jersey webapp ajax demo”是一个展示如何在Java Web应用中使用Jersey框架与Ajax技术进行交互的示例项目。这个项目是通过Maven构建系统来管理依赖和构建流程的,使得开发者能够快速地搭建和测试RESTful...
通过本文档的指导,读者可以掌握Jersey框架的基本操作,学习如何使用Jersey构建RESTful Web服务,并且了解如何在不同的部署和运行时环境中部署Jersey应用。此外,客户端API的学习可以提高与Web服务交互的效率,使得...
【jersey+spring+mybatis框架初使用】 在IT行业中,开发Web应用程序时,我们经常使用各种框架来简化工作流程并提高效率。本教程将引导初学者了解如何整合jersey、spring和mybatis这三个强大的开源框架,以实现基本...
在Jersey中实现OAuth,我们通常会用到OAuth 2.0协议,因为它比OAuth 1.0更简单且更安全。OAuth 2.0流程包括授权码(Authorization Code)流、隐式(Implicit)流、客户端凭据(Client Credentials)流和刷新令牌...
Jersey提供了一种优雅的方式,将Java方法映射到这些HTTP操作上,使得开发RESTful服务变得简单。 2. **MVC模式**:Jersey支持模型-视图-控制器(MVC)设计模式,允许开发者分离业务逻辑、数据和用户界面。通过注解,...
- **简单性**:REST架构风格强调使用标准的HTTP方法,降低了学习成本和实施难度。 - **无状态**:每个请求包含所有必要的信息,服务器不保存任何会话状态,易于扩展和负载均衡。 - **缓存**:REST服务支持HTTP缓存...
1. 配置Jersey:设置Jersey作为Servlet容器,定义资源路径,可能使用`web.xml`或Spring的Java配置。 2. 创建RESTful资源:定义Java类并使用Jersey注解,比如`@Path`定义资源路径,`@GET`, `@POST`等定义HTTP操作。 3...
4. **模块化设计**:Jersey 的模块化设计使得开发者可以根据需要选择安装和使用特定功能,比如可以选择性地添加 JSON 支持或者安全认证模块。 5. **依赖注入**:Jersey 支持依赖注入,通过 `@Context` 注解可以注入...
在本教程中,我们将深入探讨如何使用Spring Boot与Jersey实现跨域文件上传。Spring Boot以其简化Spring应用程序开发的特性而受到广泛欢迎,而Jersey是JAX-RS规范的一个实现,用于构建RESTful Web服务。当我们谈论...
通过使用`@Context`注解和Spring的`@Autowired`,可以将Spring管理的bean注入到Jersey资源类中。 **集成MyBatis** MyBatis是一个持久层框架,它支持定制化SQL、存储过程以及高级映射。当Jersey处理HTTP请求时,...
7. 强大的测试工具:Jersey提供了一套测试框架,使得单元测试和集成测试RESTful服务变得简单。 二、Jersey的工作原理 1. 资源模型:在Jersey中,资源类是定义RESTful服务的基本单元,通常使用`@Path`注解来标识其...
在IT行业中,构建Web服务是常见的任务之一,而 Jersey 和 Jetty 框架的结合使用可以帮助我们快速、高效地实现这一目标。本教程将详细讲解如何利用这两个强大的工具搭建一个支持文件上传和下载功能的Web应用。 首先...
创建一个简单的 REST 服务示例,例如返回 "Hello, World!": ```java @Path("/hello") public class HelloWorldResource { @GET @Produces(MediaType.TEXT_PLAIN) public String sayHello() { return "Hello, ...
更简单且推荐的方法是使用 `@Scope("prototype")` 注解。与 Request Scope 类似,这同样会导致每次请求创建一个新的服务实例,但是不需要配置额外的 `RequestContextListener`。只需在服务类上添加 `@Scope(...