日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微服务框架Jersey:快速入门

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微服务框架Jersey:快速入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文介紹如何利用Jersey和嵌入式的Jetty容器構建微服務應用,包括基本框架搭建、服務啟動和服務訪問等。

環境及版本

開發環境:Windows 7 、IntelJ IDEA、maven、jdk
Jersey:2.19
JDK: 1.8

基本框架搭建

搭建Jersey微服務應用,基本框架構建主要步驟:

  • 創建maven工程,組織依賴庫和編譯插件
  • 編寫服務器啟動類
  • 注冊REST資源
  • 日志配置

整體框架結構如圖所示:

maven配置

新建mavan工程,引入Jersey、Jetty、log4j等依賴庫,并為工程指定編譯器為jdk 1.8。

<?xml version="1.0" encoding="UTF-8"?> <project><modelVersion>4.0.0</modelVersion><groupId>rest</groupId><artifactId>rest</artifactId><version>1.0.0</version><properties><jetty.version>9.3.8.v20160314</jetty.version><jersey2.version>2.19</jersey2.version></properties><dependencies><!--jersey--><dependency><groupId>org.glassfish.jersey.containers</groupId><artifactId>jersey-container-servlet</artifactId><version>${jersey2.version}</version></dependency><!--jetty容器--><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-servlet</artifactId><version>${jetty.version}</version></dependency><!--日志--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build> </project>

服務器入口

編寫服務啟動類

package org.bigdata;import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.HandlerList; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.glassfish.jersey.servlet.ServletContainer;public class JettyServer {public static void main(String[] args) throws Exception {int port = 8081;Server server = new Server(port);ServletHolder sh = new ServletHolder(ServletContainer.class);//監聽的資源sh.setInitParameter("jersey.config.server.provider.packages","org.bigdata.res");ServletContextHandler apiContext = new ServletContextHandler(ServletContextHandler.SESSIONS);apiContext.addServlet(sh, "/*");apiContext.setContextPath("/");HandlerList handlerList = new HandlerList();handlerList.addHandler(apiContext);server.setHandler(handlerList);server.start();}}

編寫資源類

編寫一個簡單的資源類,用于響應用戶的/hello請求。編寫完成后,一定要在服務器啟動類中注冊資源。sh.setInitParameter("jersey.config.server.provider.packages","org.bigdata.res");

package org.bigdata.res;import javax.jws.WebService; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.core.Context;@Path("") @WebService public class WelcomeRes {@Path("hello")@GETpublic String sayHello(@Context HttpServletRequest request) {return "hello, jetty!";} }

日志配置

Jersey框架的日志要在框架中顯示引入,如果沒有顯示引入log4j框架,服務器啟動時會提示如下異常。

log4j:WARN No appenders could be found for logger (dao.hsqlmanager). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

引入log4j框架,并指定日志輸出文件log4j.properties。

log4j.rootLogger=INFO,A1log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c{2} %m%n log4j.appender.A1.Threshold=INFO

服務啟動

運行JettyServer類,啟動服務器。如圖所示:

通過瀏覽器輸入http://localhost:8081/hello請求服務,查看返回結果。

總結

以上是生活随笔為你收集整理的微服务框架Jersey:快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。