1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          jersey(Jersey是什么)

          來源:互聯網轉載 時間:2024-05-09 11:03:00

          Jersey是個restfull 框架 類似于springmvc

          服務端

          maven

          <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><!--<parent>--><!--<artifactId>demo</artifactId>--><!--<groupId>com.demo2</groupId>--><!--<version>0.0.1-SNAPSHOT</version>--><!--</parent>--><modelVersion>4.0.0</modelVersion><groupId>JERSEY_SERVER</groupId><artifactId>JERSEY_SERVER</artifactId><version>1.0</version><dependencies><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-server</artifactId><version>1.18</version></dependency><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-grizzly2</artifactId><version>1.18</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>2.3</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformerimplementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><!--指定main方法--><mainClass>com.sean.MyResource</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins></build></project>

          代碼

          packagecom.sean;importjava.io.IOException;importjava.net.URI;importjava.util.Iterator;importjavax.ws.rs.Consumes;importjavax.ws.rs.DefaultValue;importjavax.ws.rs.GET;importjavax.ws.rs.Path;importjavax.ws.rs.PathParam;importjavax.ws.rs.Produces;importjavax.ws.rs.QueryParam;importjavax.ws.rs.core.Context;importjavax.ws.rs.core.HttpHeaders;importjavax.ws.rs.core.MediaType;importjavax.ws.rs.core.MultivaluedMap;importjavax.ws.rs.core.Request;importjavax.ws.rs.core.UriBuilder;importjavax.ws.rs.core.UriInfo;importorg.glassfish.grizzly.http.server.HttpServer;importcom.sun.jersey.api.container.grizzly2.GrizzlyServerFactory;importcom.sun.jersey.api.core.PackagesResourceConfig;importcom.sun.jersey.api.core.ResourceConfig;importcom.sun.jersey.spi.resource.Singleton;@Singleton@Path("service")publicclassMyResource{@Path("{sub_path:[a-zA-Z0-9]*}")@GET@Consumes({MediaType.TEXT_PLAIN,MediaType.APPLICATION_JSON})@Produces(MediaType.TEXT_PLAIN)publicStringgetResourceName(@PathParam("sub_path")StringresourceName,@DefaultValue("Justatest!")@QueryParam("desc")Stringdescription,@ContextRequestrequest,@ContextUriInfouriInfo,@ContextHttpHeadershttpHeader){System.out.println(this.hashCode());//將HTTP請求打印出來System.out.println("******HTTPrequest******");StringBuilderstrBuilder=newStringBuilder();strBuilder.append(request.getMethod()+"");strBuilder.append(uriInfo.getRequestUri().toString()+"");strBuilder.append("HTTP/1.1[\\r\\n]");System.out.println(strBuilder.toString());MultivaluedMap<String,String>headers=httpHeader.getRequestHeaders();Iterator<String>iterator=headers.keySet().iterator();while(iterator.hasNext()){StringheadName=iterator.next();System.out.println(headName+":"+headers.get(headName)+"[\\r\\n]");}System.out.println("[\\r\\n]");StringresponseStr=resourceName+"["+description+"]";returnresponseStr;}publicstaticvoidmain(String[]args){URIuri=UriBuilder.fromUri("http://127.0.0.1").port(10000).build();ResourceConfigrc=newPackagesResourceConfig("com.sean");try{HttpServerserver=GrizzlyServerFactory.createHttpServer(uri,rc);server.start();}catch(IllegalArgumentExceptione){e.printStackTrace();}catch(NullPointerExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}try{Thread.sleep(1000*1000);}catch(InterruptedExceptione){e.printStackTrace();}}}

          客戶端

          maven

          <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><!--<parent>--><!--<artifactId>demo</artifactId>--><!--<groupId>com.demo2</groupId>--><!--<version>0.0.1-SNAPSHOT</version>--><!--</parent>--><modelVersion>4.0.0</modelVersion><groupId>JERSEY_CLIENT</groupId><artifactId>JERSEY_CLIENT</artifactId><version>1.0</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><java.version>1.8</java.version></properties><dependencies><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-client</artifactId><version>1.18</version></dependency><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-grizzly2</artifactId><version>1.18</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>2.3</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformerimplementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><!--指定main方法--><mainClass>com.sean.JerseyClient</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins></build></project>

          代碼

          packagecom.sean;importjava.net.URI;importjava.util.Iterator;importjavax.ws.rs.core.MediaType;importjavax.ws.rs.core.MultivaluedMap;importjavax.ws.rs.core.UriBuilder;importcom.sun.jersey.api.client.Client;importcom.sun.jersey.api.client.ClientResponse;importcom.sun.jersey.api.client.WebResource;importcom.sun.jersey.api.client.config.ClientConfig;importcom.sun.jersey.api.client.config.DefaultClientConfig;publicclassJerseyClient{publicstaticvoidmain(String[]args){//要使用JerseyClientAPI,必須首先創建Client的實例//有以下兩種創建Client實例的方式//方式一ClientConfigcc=newDefaultClientConfig();cc.getProperties().put(ClientConfig.PROPERTY_CONNECT_TIMEOUT,10*1000);//Client實例很消耗系統資源,需要重用//創建web資源,創建請求,接受響應都是線程安全的//所以Client實例和WebResource實例可以在多個線程間安全的共享Clientclient=Client.create(cc);//方式二//Clientclient=Client.create();//client.setConnectTimeout(10*1000);//client.getProperties().put(ClientConfig.PROPERTY_CONNECT_TIMEOUT,10*1000);//WebResource將會繼承Client中timeout的配置//WebResourceresource=client.resource("http://127.0.0.1:10000/service/sean?desc=description");////Stringstr=resource//.accept(MediaType.TEXT_PLAIN)//.type(MediaType.TEXT_PLAIN)//.get(String.class);//System.out.println("String:"+str);URIuri=UriBuilder.fromUri("http://127.0.0.1/service/sean").port(10000).queryParam("desc","description").build();WebResourceresource=client.resource(uri);//header方法可用來添加HTTP頭ClientResponseresponse=resource.header("auth","123456").accept(MediaType.TEXT_PLAIN).type(MediaType.TEXT_PLAIN).get(ClientResponse.class);//將HTTP響應打印出來System.out.println("******HTTPresponse******");StringBuilderstrBuilder=newStringBuilder();strBuilder.append("HTTP/1.1");strBuilder.append(response.getStatus()+"");strBuilder.append(response.getStatusInfo()+"[\\r\\n]");System.out.println(strBuilder.toString());MultivaluedMap<String,String>headers=response.getHeaders();Iterator<String>iterator=headers.keySet().iterator();while(iterator.hasNext()){StringheadName=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-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          【資料圖】哈嘍小伙伴們 ,今天給大家科普一個小知識。在日常生活中我們或多或少的都會接觸到湖北十堰二汽在哪方面的一些說法,有的小伙伴還不是很了解,今天就給大家詳細的介紹一下關于湖北十堰二汽在哪的相關內容。湖北十堰二汽供應處位置:十堰市張灣區。附近公交站點:東汽供應處公交站,東風供應處公交站,東風零部件集團總部公交站,東風有限十堰總部公交站,秦家溝口公交站。湖北十堰二汽體育館位置:十堰市張灣區車城南路...

          (相關資料圖)關于蘋果手機怎么用數據線給電腦上網的知識大家了解嗎?以下就是小編整理的關于蘋果手機怎么用數據線給電腦上網的介紹,希望可以給到大家一些參考,一起來了解下吧!演示機型:華為MateBook X&&iPhone12系統版本:win10&&ios14 以iPhone12、ios14,華為MateBook X,win10為例。將iPhone通過數據線連接電腦,等待驅動安裝完成,進入iPhone...

          (資料圖)提 到手工怎么制作活動抽獎箱大家在熟悉不過了,那你是否知道手工怎么制作活動抽獎箱嗎?快和小編一起去了解一下吧!手工怎么制作活動抽獎箱,相信很多朋友們對這個問題很感興趣,下面給大家介紹一下,希望可以幫助到大家。準備一個紙箱,對紙箱進行修剪,剪掉開口和三個面,留下一個面作為接口,進行開口。根據手的大小開一個口子,可以用美工刀也可以用剪刀,弄出一個足夠手進出的口子。開口完畢后,將留下的接口折下...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>