Jersey是什么
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"Jersey是什么",在日常操作中,相信很多人在Jersey是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Jersey是什么"的疑惑有所帮助!接
千家信息网最后更新 2026年10月31日Jersey是什么
这篇文章主要介绍"Jersey是什么",在日常操作中,相信很多人在Jersey是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Jersey是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Jersey是个restfull 框架 类似于springmvc
服务端
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是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
实例
学习
方式
安全
代码
方法
更多
线程
资源
UTF-8
帮助
实用
接下来
多个
客户
客户端
文章
框架
理论
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
上海睿民互联网科技有限公司
科技信息互联网
善班互联网科技
互联网科技公司有哪些
科技互联网创业计划书
互联网科技汛
互联网科技有限公司 翻译
金融科技和互联网金融
互联网公司会议桌创意科技软装饰
互联网和高科技公司
现代互联网科技股
崇明区互联网教育科技售后服务
畅思互联网科技
互联网科技如何创业
高科技互联网套路
怎样加入科技互联网
深圳无忧互联网科技
云南省自由互联网科技有限公司
互联网 科技节活动 微视频大赛
互联网科技工作委员会
科技互联网公司装修
科技服务与互联网
极限挑战互联网科技
北京三清互联网科技
中国互联网有什么科技
四川互联网展示科技馆设计
下一代互联网重大应用科技园
广州智享互联网科技
第三届互联网大会安防黑科技