在今年3月下旬的時候,Java版本已經更新到了18,接下來DD計劃持續做一個系列,主要更新從Java 9開始的各種更新內容,但我不全部都介紹,主要挑一些有意思的內容,以文章和視頻的方式來給大家介紹和學習,為了第一時間獲得內容更新,對文章形式感興趣的小伙伴可以關注我的博客或者公眾號(程式猿DD),對視頻形式感興趣的可以關注我的B站或視頻號(程式猿DD),
簡單Web服務器:jwebserver
JEP 408: Simple Web Server,是這次Java 18推出的一個比較獨立的全新功能點,我們可以通過命令列工具來啟動一個提供靜態資源訪問的迷你Web服務器,
該工具的定位官方檔案中說了一堆:

這里我簡單總結幾點,方便大家理解:
- 構建目的是應用于測驗與教學,不是為了替代Jetty、Nginx等高級服務器
- 不提供身份驗證、訪問控制或加密等安全功能
- 僅支持HTTP/1.1,不支持HTTPS
- 僅支持GET、HEAD請求
- 可以通過命令列、Java類啟動
下面我們通過一個構建HTML頁面的例子,來嘗試一下jwebserver的功能,
HTML頁面準備
第一步:創建一個檔案夾,比如就叫jwebserver
第二步:創建一個html檔案,就叫index.html吧
第三步:隨便寫點HTML內容,比如下面這樣(懶的敲的話,可以根據圖片內的提示直接獲取本案例需要的所有內容):

jwebserver命令啟動
打開終端,輸入命令:
$ jwebserver
啟動速度很快,可以看到如下輸出:

嘗試訪問一下http://127.0.0.1:8000/,就可以獲得之前準備的HTML內容了,

同時,在終端也看到了請求日志:
127.0.0.1 - - [20/4月/2022:00:10:58 +0800] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [20/4月/2022:00:10:58 +0800] "GET /banner-spring-boot.png HTTP/1.1" 200 -
關于jwebserver還有一些可選的引數,具體有這些:
-h or -? or --help
Prints the help message and exits.
-b addr or --bind-address addr
Specifies the address to bind to. Default: 127.0.0.1 or ::1 (loopback). For
all interfaces use -b 0.0.0.0 or -b ::.
-d dir or --directory dir
Specifies the directory to serve. Default: current directory.
-o level or --output level
Specifies the output format. none | info | verbose. Default: info.
-p port or --port port
Specifies the port to listen on. Default: 8000.
-version or --version
Prints the version information and exits.
其中比較有用的是
-b:要系結的ip地址-p:要啟動的訪問埠-d:要提供服務的目錄-o:控制臺的輸出級別
所以一個較為完整的啟動命令是這樣的:
jwebserver -p 9000 -d / -b 127.0.0.1 -o info
這條命令是一個以根目錄/啟動的服務器,服務埠是9000,系結地址是127.0.0.1,控制臺輸出級別使用info,
再嘗試訪問一下:http://127.0.0.1:9000/ ,可以看到根目錄/下的檔案夾和檔案:

怎么樣?是不是還挺簡單好用的?好了,今天的分享就到這里!如果您學習程序中如遇困難?可以加入我們超高質量的技術交流群,參與交流與討論,更好的學習與進步!
另外,不要走開,關注我!下一篇更新如何使用Java代碼來啟動這個服務器!
歡迎關注我的公眾號:程式猿DD,第一時間了解前沿行業訊息、分享深度技術干貨、獲取優質學習資源
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/459515.html
標籤:其他
下一篇:Python實作簡單的神經網路
