一、Jersey, 一个Java规范下REST风格Web Service开发框架,不同系统之间,数据之间的传输。
二、搭建Jersey-1.18环境,不集成任何框架。三个步骤:
(1)、创建Web项目,引入jar,如:这些jar自己去下载
asm-3.1.jar
jersey-apache-client-1.18.jar
jersey-atom-abdera-1.18.jar(不是必须)
jersey-client-1.18.jar
jersey-core-1.18.jar
jersey-json-1.18.jar
jersey-multipart-1.18.jar(不是必须)
jersey-server-1.18.jar
jersey-servlet-1.18.jar
jersey-spring-1.18.jar(不是必须)
fastjson-1.1.26.jar(不是必须)
(2)、配置Web.xml,如:
<!-- jersey servlet -->
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<!-- param-value 指定某个包目录下的类是restful服务类,可用逗号分隔,写多个目录 -->
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.zj.ec.wechat.member.controller</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/rs/*</url-pattern>
</servlet-mapping>
(3)、写Restful服务类与VO类,如:
/**
* 会员管理类, Restful服务接口类
* @author Administrator
*
*/
@Path("memberManage")
public class MemberControllerRestful implements Serializable{
private static final long serialVersionUID = 1L;
private Logger logger = LoggerFactory.getLogger(AreaController.class);
@Autowired
private MemberService memeberService;
@POST
@Path("/login")
@Consumes(value={"application/json"})
@Produces(value={"application/json"})
public String login(String in_json, @Context HttpServletResponse response)
{
logger.info("login method input param: " + in_json);
System.out.println("入参json = " + in_json);
Member member = JSON.parseObject(in_json, Member.class);
String aa = memeberService.update(member);
Result result = new Result();
String out_json = JSON.toJSONString("");
response.setCharacterEncoding("utf-8");
System.out.println("出参json = " + out_json);
return out_json;
}
}
/**必须注解@XmlRootElement 否则json与java类不能相互转换 */
@XmlRootElement
public class Member {
// 会员ID
private String memberID;
// 会员号
private String memberNO;
/** 测试类,只写了测试POST请求的方法 */
public class TestMember {
static String member_url = "http://localhost:8080/ec_wechat/rs/memberManage";
static String member_url_30 = "http://172.16.12.30:8099/jaxrs/memberManage";
/**
* @param args
*/
public static void main(String[] args) {
login();
}
public static void login(){
URI u;
try
{
u = new URI(member_url + "/login");
MultivaluedMapImpl params = new MultivaluedMapImpl();
//Login login = new Login();
Member vo = new Member();
vo.setName("start");
vo.setPassword("***");
params.add("vo", vo);
Client client = Client.create();
WebResource resource = client.resource(u);
String response = resource.entity(vo,
MediaType.APPLICATION_JSON).post(String.class);
System.out.println(response);// json格式数据
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
}
}
(4)、运行测试类,入参为JSON,出参为JSON,若能正常打印,则说明成功了。
若有不明白的地方,可以加我QQ 251693481,竭诚为你解答。
分享到:
相关推荐
### 使用Jersey框架搭建REST服务 #### 一、编写目的 本文旨在详细介绍如何使用Spring与Jersey框架搭建REST服务,并在此过程中提供环境配置指南、框架搭建步骤及具体应用实例。通过对这一过程的学习,读者可以更好...
通过以上步骤,你已经在Equinox OSGi环境中成功地嵌入了Jersey框架,构建了一个简单的REST服务。这只是一个起点,你可以根据需要扩展服务,处理更复杂的业务逻辑,同时利用OSGi的模块化特性来管理依赖和版本冲突。在...
在本项目中,我们主要探讨的是如何将Spring框架与Jersey和Google的Protocol Buffers(简称Protobuf)相结合,以构建一个RESTful Web服务。这是一个典型的企业级应用开发场景,其中Spring提供了强大的依赖注入和AOP...
Jersey提供了一套用于创建和消费RESTful服务的API和Servlet容器,使得开发者能够轻松地在Java应用程序中实现REST服务。其核心组件包括JAX-RS(Java API for RESTful Web Services)规范,该规范定义了如何在Java中...
总的来说,通过Jersey框架,我们可以方便地搭建REST服务,实现HTTP请求与Java方法之间的映射,同时利用JUnit进行服务的测试,确保其功能的稳定性和可靠性。这个过程涵盖了从环境配置到服务编写、部署和测试的完整...
总之,"RestDemo"项目提供了一个实践REST服务的实例,使用了Jersey框架,涵盖了REST服务的基本概念和操作。通过学习和运行这个项目,你将深入理解RESTful服务的设计原则,以及如何在Java环境中实现它们。同时,这也...
Jersey提供了一些工具和插件,如Jersey Test Framework用于单元测试REST服务,Jersey Client API用于客户端调用,以及支持集成其他框架,如Spring和CDI。 ### 6. 示例应用 创建一个简单的Jersey应用,包括资源类、...
综合以上,这个项目可能包含了一个使用Jersey作为REST服务提供者,Spring MVC作为服务的控制器,以及Maven作为构建工具的架构。开发者可能已经配置好了一套基本的模板,方便其他开发者快速搭建自己的RESTful Web服务...
现在,你可以启动服务器并在浏览器或使用curl命令测试你的REST服务。例如,访问 `http://localhost:8080/yourapp/rest/hello` 应该返回 "Hello, World!"。 **七、数据库集成** 在实际项目中,Web服务通常需要与...
本案例“Rest 开发小案例”提供了一个完整的REST开发工程,包括了使用Jersey框架实现REST服务的实例。 首先,让我们深入了解一下REST的基本概念。REST的核心思想是将系统中的各种操作视为对资源的操作,资源通过URI...
Jersey是Java JAX-RS(Java API for RESTful Web Services)规范的官方参考实现,它提供了创建、部署和消费REST服务的全面框架。使用Jersey,开发者可以方便地定义REST资源,通过注解来声明HTTP方法、URL映射、请求...
在这个项目中,Tomcat被用作运行Jersey REST服务的基础平台。开发者需要将Jersey的JAR文件添加到Tomcat的类路径中,并配置web.xml文件以启动Jersey的Servlet。 1. **配置web.xml**:在项目的WEB-INF目录下,`web....
在使用Jersey构建REST服务时,有几个关键的JAR包是必不可少的。这些JAR包提供了Jersey的核心功能,包括路由处理、HTTP请求/响应的处理、JSON和XML的序列化与反序列化等。以下是关于这些JAR包的详细说明: 1. **jax...
在IT行业中,构建Web服务是常见的任务之一,而 Jersey 和 Jetty 框架的结合使用可以帮助我们快速、高效地实现这一目标。本教程将详细讲解如何利用这两个强大的工具搭建一个支持文件上传和下载功能的Web应用。 首先...
10. **文档生成**:通过Swagger等工具,Jersey可以生成REST服务的API文档,方便客户端开发者理解和使用。 在“jersey的开发包”中,可能包含以下文件和目录: - `jersey-core`:核心库,包含JAX-RS标准注解和基本...
通过这些依赖,Jersey框架为RESTful服务的搭建提供了必要的支持。 在创建RESTful服务方面,Java Jersey框架提供了丰富的注释和API,开发者可以利用这些工具来遵循REST架构风格,定义资源、配置URI路径、处理请求和...
【标题】:“jersey webapp ajax demo”是一个展示如何在Java Web应用中使用Jersey框架与Ajax技术进行交互的示例项目。这个项目是通过Maven构建系统来管理依赖和构建流程的,使得开发者能够快速地搭建和测试RESTful...