网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Jersey是什么

这篇文章主要介绍“Jersey是什么”,在日常操作中,相信很多人在Jersey是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jersey是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,成都创新互联公司面向各种领域:封阳台成都网站设计网络营销推广解决方案、网站设计等建站排名服务。


Jersey是个restfull 框架 类似于springmvc

Jersey是什么

服务端

maven



	
		
		
		
	
	4.0.0
	JERSEY_SERVER
	JERSEY_SERVER
	1.0
	
		
			com.sun.jersey
			jersey-server
			1.18
		
		
			com.sun.jersey
			jersey-grizzly2
			1.18
		
	
	
		
			
				org.apache.maven.plugins
				maven-shade-plugin
				2.3
				
					
						package
						
							shade
						
						
							
								
									
									com.sean.MyResource
								
							
						
					
				
			
		
	

代码

	package com.sean;

	import java.io.IOException;
	import java.net.URI;
	import java.util.Iterator;

	import javax.ws.rs.Consumes;
	import javax.ws.rs.DefaultValue;
	import javax.ws.rs.GET;
	import javax.ws.rs.Path;
	import javax.ws.rs.PathParam;
	import javax.ws.rs.Produces;
	import javax.ws.rs.QueryParam;
	import javax.ws.rs.core.Context;
	import javax.ws.rs.core.HttpHeaders;
	import javax.ws.rs.core.MediaType;
	import javax.ws.rs.core.MultivaluedMap;
	import javax.ws.rs.core.Request;
	import javax.ws.rs.core.UriBuilder;
	import javax.ws.rs.core.UriInfo;

	import org.glassfish.grizzly.http.server.HttpServer;

	import com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory;
	import com.sun.jersey.api.core.PackagesResourceConfig;
	import com.sun.jersey.api.core.ResourceConfig;
	import com.sun.jersey.spi.resource.Singleton;

		@Singleton
		@Path("service")
		public class MyResource {

			@Path("{sub_path:[a-zA-Z0-9]*}")
			@GET
			@Consumes({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
			@Produces(MediaType.TEXT_PLAIN)
			public String getResourceName(
					@PathParam("sub_path") String resourceName,
					@DefaultValue("Just a test!") @QueryParam("desc") String description,
					@Context Request request,
					@Context UriInfo uriInfo,
					@Context HttpHeaders httpHeader) {
				System.out.println(this.hashCode());

	//		将HTTP请求打印出来
				System.out.println("****** HTTP request ******");
				StringBuilder strBuilder = new StringBuilder();
				strBuilder.append(request.getMethod() + " ");
				strBuilder.append(uriInfo.getRequestUri().toString() + " ");
				strBuilder.append("HTTP/1.1[\\r\\n]");
				System.out.println(strBuilder.toString());
				MultivaluedMap headers = httpHeader.getRequestHeaders();
				Iterator iterator = headers.keySet().iterator();
				while(iterator.hasNext()){
					String headName = iterator.next();
					System.out.println(headName + ":" + headers.get(headName) + "[\\r\\n]");
				}
				System.out.println("[\\r\\n]");
				String responseStr =resourceName + "[" + description + "]";
				return responseStr;
			}

			public static void main(String[] args) {
				URI uri = UriBuilder.fromUri("http://127.0.0.1").port(10000).build();
				ResourceConfig rc = new PackagesResourceConfig("com.sean");
				try {
					HttpServer server = GrizzlyServerFactory.createHttpServer(uri, rc);
					server.start();
				} catch (IllegalArgumentException e) {
					e.printStackTrace();
				} catch (NullPointerException e) {
					e.printStackTrace();
				} catch (IOException e) {
					e.printStackTrace();
				}
				try {
					Thread.sleep(1000*1000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}

客户端

maven



	
		
		
		
	

	4.0.0
	JERSEY_CLIENT
	JERSEY_CLIENT
	1.0
	
		UTF-8
		UTF-8
		1.8
		1.8
		1.8
	
	
		
			com.sun.jersey
			jersey-client
			1.18
		
		
			com.sun.jersey
			jersey-grizzly2
			1.18
		
	

	
		
			
				org.apache.maven.plugins
				maven-shade-plugin
				2.3
				
					
						package
						
							shade
						
						
							
								
									
									com.sean.JerseyClient
								
							
						
					
				
			
		
	

代码

package com.sean;


import java.net.URI;
import java.util.Iterator;

import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriBuilder;

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;

public class JerseyClient {

	public static void main(String[] args) {
//		要使用Jersey Client API,必须首先创建Client的实例
//		有以下两种创建Client实例的方式

//     方式一
		ClientConfig cc = new DefaultClientConfig();
		cc.getProperties().put(ClientConfig.PROPERTY_CONNECT_TIMEOUT, 10*1000);
//	    Client实例很消耗系统资源,需要重用
//	    创建web资源,创建请求,接受响应都是线程安全的
//	    所以Client实例和WebResource实例可以在多个线程间安全的共享
		Client client = Client.create(cc);

//	    方式二
//	    Client client = Client.create();
//	    client.setConnectTimeout(10*1000);
//	    client.getProperties().put(ClientConfig.PROPERTY_CONNECT_TIMEOUT, 10*1000);


//	    WebResource将会继承Client中timeout的配置
//        WebResource resource = client.resource("http://127.0.0.1:10000/service/sean?desc=description");
//
//        String str = resource
//                .accept(MediaType.TEXT_PLAIN)
//                .type(MediaType.TEXT_PLAIN)
//                .get(String.class);
//        System.out.println("String:" + str);

		URI uri = UriBuilder.fromUri("http://127.0.0.1/service/sean").port(10000)
				.queryParam("desc", "description").build();
		WebResource resource = client.resource(uri);

		//header方法可用来添加HTTP头
		ClientResponse response = resource.header("auth", "123456")
				.accept(MediaType.TEXT_PLAIN)
				.type(MediaType.TEXT_PLAIN)
				.get(ClientResponse.class);
//	    将HTTP响应打印出来
		System.out.println("****** HTTP response ******");
		StringBuilder strBuilder = new StringBuilder();
		strBuilder.append("HTTP/1.1 ");
		strBuilder.append(response.getStatus() + " ");
		strBuilder.append(response.getStatusInfo() + "[\\r\\n]");
		System.out.println(strBuilder.toString());
		MultivaluedMap headers = response.getHeaders();
		Iterator iterator = headers.keySet().iterator();
		while(iterator.hasNext()){
			String headName = iterator.next();
			System.out.println(headName + ":" + headers.get(headName) + "[\\r\\n]");
		}
		System.out.println("[\\r\\n]");
		System.out.println(response.getEntity(String.class) + "[\\r\\n]");
	}
}

到此,关于“Jersey是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前名称:Jersey是什么
当前地址:http://bjjierui.cn/article/gjghdc.html

其他资讯