<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          帶你體驗(yàn) Java 新功能:自帶的簡(jiǎn)易Web服務(wù)器

          共 2294字,需瀏覽 5分鐘

           ·

          2022-04-26 08:07

          在今年3月下旬的時(shí)候,Java版本已經(jīng)更新到了18。接下來DD計(jì)劃持續(xù)做一個(gè)系列,主要更新從Java 9開始的各種更新內(nèi)容,但我不全部都介紹,主要挑一些有意思的內(nèi)容,以文章和視頻的方式來給大家介紹和學(xué)習(xí)。

          如果要第一時(shí)間獲得內(nèi)容更新,對(duì)文章形式感興趣的小伙伴可以關(guān)注我的博客(https://blog.didispace.com)或者公眾號(hào)(程序猿DD),對(duì)視頻形式感興趣的可以關(guān)注我的B站(https://space.bilibili.com/396803537)或視頻號(hào)(程序猿DD)。

          簡(jiǎn)單Web服務(wù)器

          JEP 408: Simple Web Server,是這次Java 18推出的一個(gè)比較獨(dú)立的全新功能點(diǎn)。我們可以通過命令行工具來啟動(dòng)一個(gè)提供靜態(tài)資源訪問的迷你Web服務(wù)器。

          該工具的定位官方文檔中說了一堆:

          這里我簡(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)求
          • 可以通過命令行、Java類啟動(dòng)

          下面我們通過一個(gè)構(gòu)建HTML頁面的例子,來嘗試一下jwebserver的功能。

          HTML頁面準(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)單好用的?好了,今天的分享就到這里!不要走開,關(guān)注我!下一篇更新如何使用Java代碼來啟動(dòng)這個(gè)服務(wù)器!

          ------
          我們創(chuàng)建了一個(gè)高質(zhì)量的技術(shù)交流群,與優(yōu)秀的人在一起,自己也會(huì)優(yōu)秀起來,趕緊點(diǎn)擊加群,享受一起成長(zhǎng)的快樂。另外,如果你最近想跳槽的話,年前我花了2周時(shí)間收集了一波大廠面經(jīng),節(jié)后準(zhǔn)備跳槽的可以點(diǎn)擊這里領(lǐng)取!

          推薦閱讀

          ··································

          你好,我是程序猿DD,10年開發(fā)老司機(jī)、阿里云MVP、騰訊云TVP、出過書、創(chuàng)過業(yè)、國(guó)企4年互聯(lián)網(wǎng)6年10年前畢業(yè)加入宇宙行,工資不高、也不算太忙,業(yè)余堅(jiān)持研究技術(shù)和做自己想做的東西。4年后離開國(guó)企,加入永輝互聯(lián)網(wǎng)板塊的創(chuàng)業(yè)團(tuán)隊(duì),從開發(fā)、到架構(gòu)、到合伙人。一路過來,給我最深的感受就是一定要不斷學(xué)習(xí)并關(guān)注前沿。只要你能堅(jiān)持下來,多思考、少抱怨、勤動(dòng)手,就很容易實(shí)現(xiàn)彎道超車!所以,不要問我現(xiàn)在干什么是否來得及。如果你看好一個(gè)事情,一定是堅(jiān)持了才能看到希望,而不是看到希望才去堅(jiān)持。相信我,只要堅(jiān)持下來,你一定比現(xiàn)在更好!如果你還沒什么方向,可以先關(guān)注我,這里會(huì)經(jīng)常分享一些前沿資訊,幫你積累彎道超車的資本。

          點(diǎn)擊領(lǐng)取2022最新10000T學(xué)習(xí)資料
          瀏覽 44
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99国产精品久久久久久久久久久久久 | 天天操天天操天天操天天操 | 色福利在线观看 | 青青操青青操在线视频免费 | 免费在线黄片 |