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