Jetty 是一個開源的servlet容器,它為基於Java的web容器,例如JSP和servlet提供運行環境。Jetty是使用Java語言編寫的,它的API以一組JAR包的形式發布。開發人員可以將Jetty容器實例化成一個對象,可以迅速為一些獨立運行(stand-alone)的Java應用提供網絡和web連接。-------百度百科
Jetty目前的是一個比較被看好的 Servlet 引擎,它的架構比較簡單,也是一個可擴展性和非常靈活的應用服務器。它有一個基本數據模型,這個數據模型就是 Handler(處理器),所有可以被擴展的組件都可以作為一個 Handler,添加到 Server 中,Jetty 就是幫你管理這些 Handler。
整個 Jetty 的核心組件由 Server 和 Connector 兩個組件構成,整個 Server 組件是基於 Handler 容器工作的,它類似與 Tomcat 的 Container 容器。Jetty 中另外一個比不可少的組件是 Connector,它負責接受客戶端的連接請求,並將請求分配給一個處理隊列去執行。
(圖: Jetty 的基本架構圖)
(圖: tomcat的基本架構圖)
Jetty與Tomcat的對比:
①Jetty 比較容易貼合第三方框架,比如你可以直接用 Spring 配置一個 Jetty 服務器
②直接可以將 Jetty 作為提供 HTTP 服務的組件,嵌入到應用中
③Jetty 是面向 Handler 的架構,而 Tomcat 是面向容器的架構
④Jetty 默認采用 NIO 技術,而 Tomcat 默認是 BIO
⑤Jetty 高度模塊化,可以很靈活的管理拓展組件,而 Tomcat 對其他組件的管理則相對困難
一、安裝
1. 從 jetty 官方網站下載最新的 jetty,我下載的版本是jetty-distribution-9.4.26.v20200117.zip
2. 將下載的壓縮包解壓到指定目錄,我解壓的位置是D:\jetty-distribution-9.4.26.v20200117
(圖:解壓后目錄和文件的解釋)
二、啟動
jetty 的啟動跟 Tomcat 不同,一般情況下都可以通過 start.jar 包來啟動 jetty,除此之外,在 linux/unix 下還可以通過 jetty.sh 來進行啟動。
1. 運行 cmd 命令進入 dos 環境,並進入 jetty 安裝目錄下:啟動jetty
java -jar start.jar
注意:有可能報端口號沖突:
解決辦法一:在start.ini文件中修改jetty的端口號:
解決辦法二:c:\windows\system32進入到系統文件夾下,輸入netstat -ano,然后找到占用8080端口的那個進程 如下圖所示:
PID號為4188的進程占用着8080端口,打開任務管理器查看詳細信息,查找PID號為4188進程,點擊結束任務即可,如下圖所示:
重新啟動jetty:
2.打開瀏覽器,訪問http://127.0.0.1:8080,此時可以看到Jetty的歡迎頁面了。
3.運行 jetty 提供的示例工程:
cd demo-base java -jar ../start.jar
打開瀏覽器,訪問http://127.0.0.1:8080,此時可以看到Jetty的歡迎頁面了。
三、部署項目
1. 將自己的項目復制到 jetty 目錄的 webapps 目錄下。
2. 開始部署項目,運行 java -jar start.jar
3. 打開瀏覽器,訪問 http://127.0.0.1:8080/ssmp/user/listPage。