微软提供的Web服务器就是IIS,而在Java系就没那么简单了。首先要分为Web Server和Application Server,前者不说了,后者既可以进行运算又可以做web server,下面详细说一下:
- Apache: Apache是免费老牌web服务器,特长是处理静态页面,对静态内容的效率非常高。
- Tomcat:Tomcat是免费的Web服务器,提供对JSP和Servlet动态内容的支持,通过安装插件可以支持PHP。但Tomcat只是一个轻量级的Java web容器,像EJB (Enterprise Java Beans)那样的服务在Tomcat不能运行。
- Resin: Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。
- Jetty: Jetty是Eclipse基金会的一款开源Web服务器,提供对Servlet容器支持。
- Glassfish:Glassfish是开源的应用服务器(也可以做web服务器),比起纯粹web server的Tomcat,其Application server特性更丰富。它支持EJB,JPA, JMS,集群和负载均衡等。
- JBoss:JBoss是免费的Java Web服务器和应用服务器,支持各种J2EE规范,是SUN公司认可的J2EE容器。2006年,Jboss公司被Redhat公司收购。
- Weblogic:BEA/Oracle公司的J2EE容器,应用服务器(也可以做web服务器),性能强大,配置复杂,适合大型商业应用。支持EJB,Session Beans,数据源,分布式事务,集群和负载均衡。深度集成Bea Tuxedo。
- WebSphere:IBM公司的J2EE容器,应用服务器(也可以做web服务器),性能强大,价格高昂。
- OpenEJB: OpenEJB是一个预生成的、自包含的、可移植的EJB容器系统,可以被插入到任意的服务器环境,包括应用程序服务器,Web服务器,J2EE平台, CORBA ORB和数据库等等。
在实际项目中,可以根据项目需要搭配使用,例如结合使用Apache+Tomcat+N Weblogic。当然,你也可以换掉Apache,用轻量级web server如
lighttpd/
litespeed/
nginx取代之。或者小型应用干脆就用Tomcat+Spring+ActiveMQ;如果真的需要EJB,可以加上OpenEJB。由于Tomcat不能运行EJB,不适合J2EE等大型商业应用,所以必须用JBoss(免费的,轻量级的),Weblogic/WebSphere(很贵的,重量级的大型企业级应用,支持分布式事务,集群,负载均衡....),最近JBoss和Weblogic/WebSphere相比呈上升趋势,因为毕竟JBoss是免费的。之所以Java是企业级开发的老大,和这些开源的和商业的组件是分不开的,这方面微软的应用规模还是比较小(和J2EE相比),微软提供的产品丰富程度也不能和Java系的相提并论。