一、服务器
1、服务器
服务器:安装了服务器软件的计算机
2、服务器软件
服务器软件:接收用户的请求,处理请求,做出响应
3、Web 服务器软件
web 服务器软件:接收用户发送的请求,处理请求,并响应客户端的请求。
在 web 服务器软件(web 容器)中,可以部署 web 项目,让用户通过浏览器来访问这些项目。
二、常用的 Java 相关的 web 服务器软件
1、webLogic
webLogic:Oracle 公司,大型的 JavaEE 服务器,支持所有的 Java 规范,目前应用最广泛的 Web 服务器,适合大型项目(收费)
2、webSphere
webSphere:IBM 公司,大型的 JavaEE 服务器,支持所有的 JavaEE 规范,收费的。
3、JBOSS
JBOSS:JBOSS 公司的(RedHat),是一个遵从 JavaEE 规范的、开源的、纯 Java 的 EJB 服务器,大型的 JavaEE 服务器,支持所有的 JavaEE 规范,(收费的)
4、GlassFish
GlassFish:由 Oracle 公司开发的一款 JavaWeb 服务器,是一款强健的商业服务器,达到产品级质量(应用很少)
5、Resin
Resin:是 CAUCHO 公司的产品,是一个非常流行的服务器,对 Servlet 和 jsp 提供了良好的支持,性能也比较优良(收费,应用比较多)
6、Jetty
Jetty 是一个开源的 servlet 容器,它为基于 Java 的 web 容器,例如 JSP 和 servlet 提供运行环境。Jetty 是使用 Java 语言编写的,它的 API 以一组 JAR 包的形式发布。开发人员可以将 Jetty 容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的 Java 应用提供网络和 web 连接。
易用性
易用性是 Jetty 设计的基本原则,易用性主要体现在以下几个方面:
通过 XML 或者 API 来对 Jetty 进行配置;默认配置可以满足大部分的需求;将 Jetty 嵌入到应用程序当中只需要非常少的代码;
可扩展性
在使用了 Ajax 的 Web 2.0 的应用程序中,每个连接需要保持更长的时间,这样线程和内存的消耗量会急剧的增加。这就使得我们担心整个程序会因为单个组件陷入瓶颈而影响整个程序的性能。但是有了 Jetty:
即使在有大量服务请求的情况下,系统的性能也能保持在一个可以接受的状态。利用 Continuation 机制来处理大量的用户请求以及时间比较长的连接。 另外 Jetty 设计了非常良好的接口,因此在 Jetty 的某种实现无法满足用户的需要时,用户可以非常方便地对 Jetty 的某些实现进行修改,使得 Jetty 适用于特殊的应用程序的需求。
易嵌入性
Jetty 可以非常容易的嵌入到应用程序当中而不需要程序为了使用 Jetty 做修改。从某种程度上,你也可以把 Jetty 理解为一个嵌入式的 Web 服务器。
Jetty 可以作为嵌入式服务器使用,Jetty 的运行速度较快,而且是轻量级的,可以在 Java 中可以从 test case 中控制其运行。从而可以使自动化测试不再依赖外部环境,顺利实现自动化测试。
7、Tomcat
Tomcat:由 Apache 基金组织提供的一种 Web 服务器,提供对 jsp 和 Servlet 的支持,中小型、轻量级的 JavaEE 服务器,仅仅支持少量的 JavaEE 规范 servlet/jsp。开源的,免费的,也是目前应用最广的 JavaWeb 服务器。
Tips: JavaEE:Java 语言在企业级开发中使用的技术规范的总和,一共规定了 13 项大的规范