Java 18 新特性之Web服务器 jwebserver功能

网友投稿 315 2022-08-02


目录简单Web服务器:jwebserverHTML页面准备jwebserver命令启动

在今年3月下旬的时候,java版本已经更新到了18。

简单Web服务器:jwebserver

JEP 408: Simple Web Server,是这次Java 18推出的一个比较独立的全新功能点。我们可以通过命令行工具来启动一个提供静态资源访问的迷你Web服务器。

该工具的定位官方文档中说了一堆:

这里我简单总结几点,方便大家理解:

构建目的是应用于测试与教学,不是为了替代Jetty、Nginx等高级服务器不提供身份验证、访问控制或加密等安全功能仅支持HTTP/1.1,不支持HTTPS仅支持GET、HEAD请求可以通过命令行、JQTfUyava类启动

下面我们通过一个构建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 aQTfUyddr or --bind-address addr Spechttp://ifies 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代码来启动这个服务器!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java由浅入深讲解继承上
下一篇:一文详解Java拦截器与过滤器的使用(java过滤器和拦截器的区别和使用场景)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~