您的位置:首页 >聚焦 >

带你体验 Java 新功能:自带的简易Web服务器

2022-04-26 07:52:21    来源:程序员客栈

在今年3月下旬的时候,Java版本已经更新到了18。接下来DD计划持续做一个系列,主要更新从Java 9开始的各种更新内容,但我不全部都介绍,主要挑一些有意思的内容,以文章和视频的方式来给大家介绍和学习。

如果要第一时间获得内容更新,对文章形式感兴趣的小伙伴可以关注我的博客(https://blog.didispace.com)或者公众号(程序猿DD),对视频形式感兴趣的可以关注我的B站(https://space.bilibili.com/396803537)或视频号(程序猿DD)。

简单Web服务器

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.pngHTTP/1.1"200-

关于jwebserver还有一些可选的参数,具体有这些:

-hor-?or--helpPrintsthehelpmessageandexits.-baddror--bind-addressaddrSpecifiestheaddresstobindto.Default:127.0.0.1or::1(loopback).Forallinterfacesuse-b0.0.0.0or-b::.-ddiror--directorydirSpecifiesthedirectorytoserve.Default:currentdirectory.-olevelor--outputlevelSpecifiestheoutputformat.none|info|verbose.Default:info.-pportor--portportSpecifiestheporttolistenon.Default:8000.-versionor--versionPrintstheversioninformationandexits.

其中比较有用的是

-b:要绑定的ip地址-p:要启动的访问端口-d:要提供服务的目录-o:控制台的输出级别

所以一个较为完整的启动命令是这样的:

jwebserver-p9000-d/-b127.0.0.1-oinfo

这条命令是一个以根目录/启动的服务器,服务端口是9000,绑定地址是127.0.0.1,控制台输出级别使用info。

再尝试访问一下:http://127.0.0.1:9000/ ,可以看到根目录/下的文件夹和文件:

怎么样?是不是还挺简单好用的?好了,今天的分享就到这里!不要走开,关注我!下一篇更新如何使用Java代码来启动这个服务器!

------我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!推荐阅读什么鬼!抗疫互助平台被拿来约P了?Java 9 为何要将String的底层实现由char[]改成了byte[]?用Godot引擎做出各种模式的马里奥小游戏··································

你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书、创过业、国企4年互联网6年。10年前毕业加入宇宙行,工资不高、也不算太忙,业余坚持研究技术和做自己想做的东西。4年后离开国企,加入永辉互联网板块的创业团队,从开发、到架构、到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。

点击领取2022最新10000T学习资料

关键词: 感兴趣的 第一时间 我的博客

相关阅读