什么是Jetty?

来源:互联网 发布:公司介绍小程序源码 编辑:程序博客网 时间:2024/06/13 21:06
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的插入性保证了它和主机容器的一个紧密的集成。
原创粉丝点击