在往年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。第一工夫理解前沿行业音讯、分享深度技术干货、获取优质学习资源