共计 1643 个字符,预计需要花费 5 分钟才能阅读完成。
在往年 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。第一工夫理解前沿行业音讯、分享深度技术干货、获取优质学习资源