服务器:tomcat,jetty,Resin、JBoss、WebSphere、WebLogic等。
Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。同时还包括了Java应用服务器。
目前最为流行的Tomcat服务器是Apache开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器,也是初学者学习开发JSP应用的首选。
在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。
Jetty 目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器。
虽然 Jetty 正常成长为一个优秀的 Servlet 引擎,但是目前的 Tomcat 的地位仍然难以撼动。相比较来看,它们都有各自的优点与缺点。
①从架构上来说,显然 Jetty 比 Tomcat 更加简单。
②Tomcat 在处理少数非常繁忙的连接(连接的生命周期短)上更有优势。而 Jetty 刚好相反,Jetty 可以同时处理大量连接而且可以长时间保持这些连接。
Resin是一个非常流行的支持Servlet和JSP的服务器,速度非常快。Resin本身包含了一个支持HTML的Web服务器,这使它不仅可以显示动态内容,而且显示静态内容的能力也毫不逊色,因此许多网站都是使用Resin服务器构建。
Jboss作为Java EE应用服务器,它不但是Servlet容器,而且是EJB(Enterprise java bean)容器,速度慢一些,不适合开发阶段,可以用于真实运行环境(免费)。从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。
JBoss六大优点:
JBoss是免费的,开放源代码J2EE的实现,它通过LGPL许可证进行发布。
JBoss需要的内存和硬盘空间比较小。
安装非常简单。先解压缩JBoss打包文件再配置一些环境变量就可以了。
JBoss能够"热部署",部署BEAN只是简单拷贝BEAN的JAR文件到部署路径下就可以了。如果没有加载就加载它;如果已经加载了就卸载掉,然后LOAD这个新的。
JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。
用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。
WebSphere是IBM公司的产品,可进一步细分为 WebSphere Performance Pack、Cache Manager 和WebSphere Application Server等系列,其中WebSphere Application Server 是基于Java 的应用环境,可以运行于 Sun Solaris、Windows NT 等多种操作系统平台,用于建立、部署和管理Internet和Intranet Web应用程序。
WebLogic 可进一步细分为 WebLogic Server、WebLogic Enterprise 和 WebLogic Portal 等系列,其中 WebLogic Server 的功能特别强大。WebLogic 支持企业级的、多层次的和完全分布式的Web应用,并且服务器的配置简单、界面友好。对于那些正在寻求能够提供Java平台所拥有的一切应用服务器的用户来说,WebLogic是一个十分理想的选择。不适合开发阶段,太慢了,适合于运行环境(收费)。
Apache
Nginx
发展到现在,模块超多,成熟稳定
设计高度模块化,编写模块相对简单,轻量级,占用更少的内存和资源
apache 则是阻塞型的,容易出现进程数飙升,从而拒绝服务的现象
处理请求是异步非阻塞的,负载能力比 apache 高很多
处理动态请求有优势
处理静态网页上表现的更好(简单、占资源少)
只是web容器
作为负载均衡服务器,支持 7 层负载均衡