Jetty是什么 Jetty项目简介

Jetty是一个开源、基于标准、全功能实现的JAVA服务器。它在Apache2.0协议下发布,因此可以自由的用于商业用途和发行。首创于1995年,Jetty受益于一个广大的用户社区,有一个稳定的核心开发者来持续专著的开发。有很多正在运行的使用Jetty的例子,这也不过是千分之十的Jetty实例。 虽然Jetty的目标很低调, 无数的站点和产品使用Jetty,但是Jetty无处不见!
Jetty可以用来:
◆一个传统的web 服务器来处理静态和动态网页;
◆最为一个专用HTTP服务器的后台来处理动态网页,就像Apache使用mod_proxy;
◆作为一个JAVA应用程序的内嵌组件。
这种灵活性意味着Jetty可以用在多种场合:
◆随产品做外盒使用,例如Tapestry, Liferay;
◆随书光盘里,用来运行例子;
◆合并到程序里提供HTTP传输,例如JXTA, MX4J;
◆集成到JavaEE服务器作为web容器,例如JOnAS, Geronimo, JBoss, JFox;
◆作为一个应用程序的组件,例如Continuum, FishEye, Maven。
Jetty的特点:
简单
Jetty的指导原则是“简单不复杂“。Jetty容易理解和使用:
◆通过API或者XML文件配置;
◆XML文件语法直接了当地在POJOs上影射API操作;
◆默认的配置文件可以使Jetty作为外盒(out-of-the-box);
◆只需少量的行数就可以嵌入一个Jetty实例。

可扩展性
在异步的WEB2.0类型的应用程序使用的技术,例如AJAX,连接停留时间要比处理一个静态页长,线程和内存需求可能急剧增长。
底层必须优雅地处理这些问题,一个低速的数据库连接可能造成站点瘫痪,因为线程被占满了。使用Jetty...

◆在高强度服务压力性能损失少;
◆在现有的web规范的框架下,能处理大用户负载,保证长时间会话的连续性;
◆整合现有聚类,例如WADI和Terracotta

高效
大量的努力用来优化代码,精炼的代码以至于漏洞尽可能少:
◆相关性尽可能少;
◆核心保持最小,附加函数放在可选包中;
◆可扩展性是一个关键问题;
◆高强度下性能衰减平缓。

嵌入性
Jetty是一个非常好的组件。这意味着很容易嵌入到一个应用程序中,而不需要应用程序去适应它:
◆使用依赖注射和反转的控制模式

插入性
Jetty被建构的适合
Jetty内建插入性。所有Jetty核心组件的实现允许不同的选择,至少一个或者更多,组件的实现总是会提供的。如果这些仍然不能满足你的要求,你可以自由的编写底层接口和抽象类最为基础。这意味着Jetty能够容易地用在一个特别的应用环境中。当Jetty在一个 JavaEE服务器中作为web容器时,这是相当有用的,Jetty的插入性保证了它和主机容器的一个紧密的集成。
本文转至于:http://bbs.163jsp.com/posts/list/427.html
### Jetty 中间件的定义与功能 Jetty 是一种轻量级的、开源的 Java HTTP 服务器和 Servlet 容器,它既可以作为独立的应用服务器运行,也可以嵌入到其他 Java 应用程序中。Jetty 的核心组件由 Server 和 Connector 两个部分构成[^1],其中 Server 组件基于 Handler 容器工作,类似于 Tomcat 的 Container 容器。 Jetty 的主要功能包括支持 HTTP/HTTPS 协议、处理 Web 请求和响应、执行 Servlet 规范以及提供 JSP 支持。此外,Jetty 还具备高度可扩展性和灵活性,能够轻松集成到各种应用程序中[^3]。 ### Jetty 的特点 1. **轻量级**:Jetty 设计简洁,占用资源少,适合需要高性能和低开销的应用场景。 2. **嵌入式支持**:Jetty 可以直接嵌入到 Java 应用程序中,为开发者提供了极大的灵活性[^3]。 3. **高性能**:Jetty 在处理高并发请求时表现出色,尤其适合微服务架构下的应用。 4. **模块化设计**:Jetty 的模块化结构使其可以根据需求加载特定的功能模块,减少不必要的依赖。 5. **易用性**:Jetty 提供了丰富的文档和示例代码,便于开发者快速上手和使用[^1]。 以下是一个简单的 Jetty 嵌入式使用示例: ```java import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletHandler; public class JettyExample { public static void main(String[] args) throws Exception { Server server = new Server(8080); ServletHandler handler = new ServletHandler(); server.setHandler(handler); handler.addServletWithMapping(HelloServlet.class, "/hello"); server.start(); server.join(); } } ``` 上述代码展示了如何创建一个简单的 Jetty 服务器,并将自定义的 `HelloServlet` 映射到 `/hello` 路径。 ### 中间件的作用与意义 中间件是一种独立的功能模块,能够在不同层次上为应用程序提供通用的服务和支持。它的特点是脱离于具体设计目标,具备普遍适用的功能需求,且通常是可替换的。如果中间件在某个系统中不可替换,则可能表明该中间件实际上充当了系统的引擎角色[^2]。 使用中间件可以为应用程序提供更高效、更安全的服务,同时降低开发和维护的成本。通过中间件的支持,系统能够更好地实现可靠性、安全性和可扩展性的提升[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值