Jersey应用

1.pom.xml依赖

<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-server</artifactId>
			<version>1.19</version>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-grizzly2</artifactId>
			<version>1.19</version>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-bundle</artifactId>
			<version>1.19</version>
		</dependency>
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-servlet</artifactId>
			<version>1.19</version>
		</dependency>
		<!-- Json -->
		<dependency>
			<groupId>com.sun.jersey</groupId>
			<artifactId>jersey-json</artifactId>
			<version>1.18</version>
		</dependency>
		<dependency>
			<groupId>com.owlike</groupId>
			<artifactId>genson</artifactId>
			<version>0.99</version>
		</dependency>


2. 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>com.ecs.jersey</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>

3.server端代码

package com.ecs.jersey;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import com.ecs.model.User;

@Path(value = "/getUsers")
public class UserResource {

	@POST
	@Consumes(MediaType.APPLICATION_JSON)
	@Produces(MediaType.APPLICATION_JSON)
	public Map<String, Object> getUsers() {
		User user = new User();
		user.setId(11L);
		user.setName("张三");
		Map<String, Object> map = new HashMap<String, Object>();
		List<User> list = new ArrayList<User>();
		User u1 = new User();
		u1.setId(1L);
		u1.setName("张三");
		User u2 = new User();
		u2.setId(2L);
		u2.setName("李四");
		list.add(u1);
		list.add(u2);
		map.put("list", list);
		map.put("total", list.size());
		return map;
	}
}


4. 客户端调用测试

import java.util.HashMap;

import javax.ws.rs.core.MediaType;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;

//jersey客户端调用
public class Test {

	public static void main(String[] args) {
		ClientConfig cc = new DefaultClientConfig();  
		Client client = Client.create(cc);  
		WebResource resource = client.resource("http://localhost:8080/rest/getUsers");  
		
		JSONObject req = new JSONObject();  
        try {  
            req.put("query", "name");  
        } catch (JSONException e) {  
            e.printStackTrace();  
        }  
          
        ClientResponse response = resource  
                .accept(MediaType.APPLICATION_JSON)  
                .type(MediaType.APPLICATION_JSON)  
                .post(ClientResponse.class, req);  
          
        HashMap resp = response.getEntity(HashMap.class);  
        System.out.println(JSON.toJSONString(resp));  
	}
}

控制台输出结果:

{"total":2,"list":[{"id":1,"name":"张三"},{"id":2,"name":"李四"}]}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值