Jetty 是一个轻量级的开源 Java Web 服务器和 Servlet 容器,由 Eclipse 基金会维护
参考资料
Jetty 是一个轻量级的开源 Java Web 服务器和 Servlet 容器,由 Eclipse 基金会维护
Jetty 简介
Jetty 是一个轻量级的开源 Java Web 服务器和 Servlet 容器,由 Eclipse 基金会维护。它被广泛用于嵌入式系统和生产环境中,具有高性能、模块化和易扩展的特点。
特点
轻量级:核心 jar 文件小,适合嵌入式应用。
高性能:基于 NIO(非阻塞 I/O)设计,处理高并发请求高效。
模块化:支持按需加载组件,减少资源占用。
嵌入式支持:可直接集成到应用程序中。
支持最新标准:兼容 Servlet、WebSocket、HTTP/2 等协议。
最新更新内容及时间
最新版本:Jetty 11.0.20(截至 2024 年 7 月)
更新内容:
修复了多个安全漏洞。
改进了 HTTP/2 和 WebSocket 的性能。
增强了对 JDK 17 的支持。
镜像下载地址
Maven 依赖:
<dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>11.0.20</version> </dependency>
官网地址
文档地址
Docker 安装示例
# 拉取官方镜像 docker pull jetty:latest # 运行容器 docker run -d -p 8080:8080 --name myjetty jetty
YAML 设置教程(以 jetty.yml
为例)
server: port: 8080 contextPath: "/myapp" connectors: - type: http port: 8080 resources: - type: webapp resourceBase: "/var/lib/jetty/webapps"
常用错误及问题
端口冲突:
错误信息:
java.net.BindException: Address already in use
解决方法:更换端口或关闭占用端口的程序。
类加载问题:
错误信息:
ClassNotFoundException
或NoClassDefFoundError
解决方法:检查依赖是否完整,确保类路径正确。
内存不足:
错误信息:
java.lang.OutOfMemoryError
解决方法:调整 JVM 内存参数(如
-Xmx512m
)。Servlet 未注册:
错误信息:
404 Not Found
解决方法:检查
web.xml
或注解配置是否正确。HTTPS 配置失败:
错误信息:
SSLHandshakeException
解决方法:确保证书路径和密钥库配置正确。