Java?18?新特性之Web服務(wù)器?jwebserver功能
在今年3月下旬的時(shí)候,Java版本已經(jīng)更新到了18。
簡(jiǎn)單Web服務(wù)器:jwebserver
JEP 408: Simple Web Server,是這次Java 18推出的一個(gè)比較獨(dú)立的全新功能點(diǎn)。我們可以通過(guò)命令行工具來(lái)啟動(dòng)一個(gè)提供靜態(tài)資源訪問的迷你Web服務(wù)器。
該工具的定位官方文檔中說(shuō)了一堆:
這里我簡(jiǎn)單總結(jié)幾點(diǎn),方便大家理解:
- 構(gòu)建目的是應(yīng)用于測(cè)試與教學(xué),不是為了替代Jetty、Nginx等高級(jí)服務(wù)器
- 不提供身份驗(yàn)證、訪問控制或加密等安全功能
- 僅支持HTTP/1.1,不支持HTTPS
- 僅支持GET、HEAD請(qǐng)求
- 可以通過(guò)命令行、Java類啟動(dòng)
下面我們通過(guò)一個(gè)構(gòu)建HTML頁(yè)面的例子,來(lái)嘗試一下jwebserver的功能。
HTML頁(yè)面準(zhǔn)備
第一步:創(chuàng)建一個(gè)文件夾,比如就叫jwebserver
第二步:創(chuàng)建一個(gè)html文件,就叫index.html
吧
第三步:隨便寫點(diǎn)HTML內(nèi)容,比如下面這樣(懶的敲的話,可以根據(jù)圖片內(nèi)的提示直接獲取本案例需要的所有內(nèi)容):
jwebserver命令啟動(dòng)
打開終端,輸入命令:
$ jwebserver
啟動(dòng)速度很快,可以看到如下輸出:
嘗試訪問一下http://127.0.0.1:8000/
,就可以獲得之前準(zhǔn)備的HTML內(nèi)容了。
同時(shí),在終端也看到了請(qǐng)求日志:
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 -
關(guān)于jwebserver還有一些可選的參數(shù),具體有這些:
-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òng)的訪問端口-d
:要提供服務(wù)的目錄-o
:控制臺(tái)的輸出級(jí)別
所以一個(gè)較為完整的啟動(dòng)命令是這樣的:
jwebserver -p 9000 -d / -b 127.0.0.1 -o info
這條命令是一個(gè)以根目錄/
啟動(dòng)的服務(wù)器,服務(wù)端口是9000,綁定地址是127.0.0.1,控制臺(tái)輸出級(jí)別使用info。
再嘗試訪問一下:http://127.0.0.1:9000/ ,可以看到根目錄/
下的文件夾和文件:
怎么樣?是不是還挺簡(jiǎn)單好用的?好了,今天的分享就到這里!如果您學(xué)習(xí)過(guò)程中如遇困難?可以加入我們超高質(zhì)量的技術(shù)交流群,參與交流與討論,更好的學(xué)習(xí)與進(jìn)步!
另外,不要走開,關(guān)注我!下一篇更新如何使用Java代碼來(lái)啟動(dòng)這個(gè)服務(wù)器!
到此這篇關(guān)于Java 18 新特性之簡(jiǎn)單Web服務(wù)器 jwebserver的文章就介紹到這了,更多相關(guān)java18 Web服務(wù)器 jwebserver內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Flink流處理引擎零基礎(chǔ)速通之?dāng)?shù)據(jù)的抽取篇
今天不分享基礎(chǔ)概念知識(shí)了,來(lái)分享一個(gè)馬上工作需要的場(chǎng)景,要做數(shù)據(jù)的抽取,不用kettle,想用flink。實(shí)際就是flink的sql、table層級(jí)的api2022-05-05如何實(shí)用Java實(shí)現(xiàn)合并、拆分PDF文檔
這篇文章主要介紹了如何實(shí)用Java實(shí)現(xiàn)合并、拆分PDF文檔,處理PDF文檔時(shí),這樣的好處是對(duì)文檔的存儲(chǔ)、管理很方便。下面將通過(guò)Java程序代碼介紹具體的PDF合并、拆分的方法,需要的朋友可以參考下2019-07-07Spring Cloud Gateway替代zuul作為API網(wǎng)關(guān)的方法
本文簡(jiǎn)要介紹如何使用Spring Cloud Gateway 作為API 網(wǎng)關(guān)(不是使用zuul作為網(wǎng)關(guān)),結(jié)合實(shí)例代碼給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧2023-02-02詳解springboot+mybatis多數(shù)據(jù)源最簡(jiǎn)解決方案
本篇文章主要介紹了詳解springboot+mybatis多數(shù)據(jù)源最簡(jiǎn)解決方案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05SpringBoot導(dǎo)入mail依賴報(bào)錯(cuò)問題解決
這篇文章主要介紹了SpringBoot導(dǎo)入mail依賴報(bào)錯(cuò)問題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10java String類常量池分析及"equals"和"==”區(qū)別詳細(xì)介紹
這篇文章主要介紹了java String類常量池分析及"equals"和"==”區(qū)別詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-12-12Java線程池流程編排運(yùn)用實(shí)戰(zhàn)源碼
這篇文章主要介紹了Java線程池流程編排運(yùn)用實(shí)戰(zhàn)源碼,就在流程引擎的基礎(chǔ)上運(yùn)用?ThreadPoolExecutor,使用線程池實(shí)現(xiàn)?SpringBean?的異步執(zhí)行2022-03-03