Jetty基础入门

2021-04-23  本文已影响0人  AC编程

一、什么是Jetty

简单来讲,Jetty就是一个开源HTTP服务器和Servlet引擎,它可以为JSP和Servlet提供运行时环境。比如Java web应用最常用的Servlet容器Tomcat。由于其轻量、灵活的特性,Jetty也被应用于一些知名产品中,例如ActiveMQ、Maven、Spark、GoogleAppEngine、Eclipse、Hadoop等。

二、为什么使用Jetty

三、Jetty的基本架构

Jetty的框架比较简单,核心组件主要是由Server和Handler组成。其中Server的Handler是其比较重要的一个数据模型,Jetty中所有的组件都是基于Handler来实现的。

Tomcat最顶层是Service,控制了服务器的整个生命周期,每一个Service由一个Container和多个Connector组成,形成一个独立完整的处理单元,对外请求。

Jetty的核心是Server,整体包含了多个Handle,还有一个Connector组成,Connector负责接受请求,将请求分配给一个队列去进行处理。

Jetty的架构设计要比tomcat的更清晰,简单。

Jetty的基本架构 Tomcat架构

四、与Tomcat的对比

五、Jetty使用

Jetty官网

5.1 打开Jetty官网下载Jetty包
Jetty下载
5.2 操作步骤

1、解压Jetty包

解压Jetty包

2、打开cmd进入Jetty目录

3、执行 java -jar start.jar命令

执行 java -jar start.jar命令

4、打开浏览器访问http://127.0.0.1:8080

404

我们可以看到页面展示的Jetty的404界面,因为在我们的JETTY_HOME下面的webapps下面并没有任何应用,所以会显示该错误。Jetty为我们提供了一个基础应用,在JETTY_HOME的demo-base目录下面起动步骤:
1、进入JETTY_HOME/demo-base
2、打开cmd
3、执行java -jar ../start.jar
4、通过浏览器访问http://127.0.0.1:8080

Jetty欢迎页

由此,我们可以看到Jetty的欢迎界面,这样我们的Jetty的HelloWorld便完成了。

注意:与Tomcat一样,示例程序并不代表绝对安全,当你去生产环境搭建一个全新的服务器,记得把示例程序删除掉。

六、常用配置

七、Jetty模块化

单体应用架构 微服务架构

JDK9开始就支持了模块化,前端很多框架也是模块化的,按需加载,节约资源。

通过以下命令可以查看到所依赖的模块

 java -jar ../start.jar --list-modules
image.png

八、异步Servlet

异步Servlet是Servlet3.0出来的新特性。在并发量较大的情况下,若一个Servlet处理较慢,则会导致所有Servlet需要排队等待之前的Servlet线程处理完后才能继续执行。在加入异步Servlet之后,可以在处理时间较长的Servlet中增加单独的工作线程专门处理该业务,然后Servlet线程继续处理其他的Servlet请求。

上一篇下一篇

猜你喜欢

热点阅读