Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。-------百度百科
Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器。它有一个基本数据模型,这个数据模型就是 Handler(处理器),所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Jetty 就是帮你管理这些 Handler。
整个 Jetty 的核心组件由 Server 和 Connector 两个组件构成,整个 Server 组件是基于 Handler 容器工作的,它类似与 Tomcat 的 Container 容器。Jetty 中另外一个比不可少的组件是 Connector,它负责接受客户端的连接请求,并将请求分配给一个处理队列去执行。
(图: Jetty 的基本架构图)
(图: tomcat的基本架构图)
Jetty与Tomcat的对比:
①Jetty 比较容易贴合第三方框架,比如你可以直接用 Spring 配置一个 Jetty 服务器
②直接可以将 Jetty 作为提供 HTTP 服务的组件,嵌入到应用中
③Jetty 是面向 Handler 的架构,而 Tomcat 是面向容器的架构
④Jetty 默认采用 NIO 技术,而 Tomcat 默认是 BIO
⑤Jetty 高度模块化,可以很灵活的管理拓展组件,而 Tomcat 对其他组件的管理则相对困难
一、安装
1. 从 jetty 官方网站下载最新的 jetty,我下载的版本是jetty-distribution-9.4.26.v20200117.zip
2. 将下载的压缩包解压到指定目录,我解压的位置是D:\jetty-distribution-9.4.26.v20200117
(图:解压后目录和文件的解释)
二、启动
jetty 的启动跟 Tomcat 不同,一般情况下都可以通过 start.jar 包来启动 jetty,除此之外,在 linux/unix 下还可以通过 jetty.sh 来进行启动。
1. 运行 cmd 命令进入 dos 环境,并进入 jetty 安装目录下:启动jetty
java -jar start.jar
注意:有可能报端口号冲突:
解决办法一:在start.ini文件中修改jetty的端口号:
解决办法二:c:\windows\system32进入到系统文件夹下,输入netstat -ano,然后找到占用8080端口的那个进程 如下图所示:
PID号为4188的进程占用着8080端口,打开任务管理器查看详细信息,查找PID号为4188进程,点击结束任务即可,如下图所示:
重新启动jetty:
2.打开浏览器,访问http://127.0.0.1:8080,此时可以看到Jetty的欢迎页面了。
3.运行 jetty 提供的示例工程:
cd demo-base java -jar ../start.jar
打开浏览器,访问http://127.0.0.1:8080,此时可以看到Jetty的欢迎页面了。
三、部署项目
1. 将自己的项目复制到 jetty 目录的 webapps 目录下。
2. 开始部署项目,运行 java -jar start.jar
3. 打开浏览器,访问 http://127.0.0.1:8080/ssmp/user/listPage。