Web服务器主要功能是用来放置网站文件,提供网上信息浏览服务供用户浏览,所以Web服务器是一种对发出请求的浏览器提供文档的程序。Web 服务器使用 HTTP( 超文 本传输协议 ) 与客户机浏览器进行信息交流 ,如图 1.8 所示。
图 1.8 Web服务器使用HTTP与浏览器交流
Java EE应用服务器是负责处理逻辑的服务器。它主要是EJB、JNDI和JMX API等Java EE API方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,Java EE应用服务器提供的功能比Web服务器强大得多。Java EE应用服务器的优点如下:
●Java EE应用服务器不限于HTTP,它还可以提供其他协议支持,如RMI/RPC。
●大多数Java EE应用服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset),这意味着Java EE应用服务器可以做任何Web服务器所能做的事情。此外,Java EE应用服务器有组件和特性来支持应用级服务,如连接池、对象池、事务支持、消息传递服务等。
Unix和Linux平台下的常用Web服务器有Apache、Nginx、Lighttpd等,Windows平台下最常用的服务器则是微软公司的IIS(Internet Information Server)。
常见的Java EE应用服务器有Tomcat、IBM WebSphere、WebLogic、Jetty等。
①Tomcat服务器:Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。本教程使用Tomcat作为Web服务器进行讲述。
Tomcat单独使用的时候,它同时担当了两个角色:
●Web服务器
●Java EE应用服务器
当与Apache结合使用的时候,可以由Apache担当Web服务器,这个时候Tomcat就变成只是Java EE应用服务器了。
②IBM WebSphere服务器:WebSphere是IBM公司开发的一个大型Java EE应用服务器,满足Java EE开发的所有规范。它包含了编写、运行和监视全天候的工业强度的随需应变Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere提供了可靠、灵活和健壮的软件。
③WebLogic服务器:WebLogic是美国Oracle公司出品的一个application server,它是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
④Jetty服务器:Jetty是一个开源、基于标准、全功能实现的Java应用服务器。它在Apache 2.0 协议下发布,因此可以自由地用于商业用途和发行。
Tomcat服务器是一个开源的轻量级Java EE应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP程序的首选。它是对HTTP和Servlet规范的实现,简单来说它做了这几件事:处理HTTP协议(接收和处理客户端的请求,把动态资源转换成了静态资源,给客户端响应)、执行Servlet和处理网络I/O。
Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS等Web服务器一样,能够处理HTML页面,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
Tomcat的功能是:
●接收用户请求、返回响应。
●为JSP、Servlet提供容器。
熟悉Tomcat各个目录的内容,可以使Web开发人员有针对性地解决在Tomcat中遇到的问题。Tomcat各个目录如图 1.9 所示。
图 1.9 Tomcat目录结构
下面是Tomcat的一些关键目录:
●/bin:存放用于启动及关闭(停止)Tomcat服务的文件,以及其他一些脚本。主要有两大类:以.sh结尾的文件和以.bat结尾的文件。UNIX系统专用的*.sh文件在功能上等同于Windows系统专用的*.bat文件。
●/conf:存放配置文件及相关的DTD。.xml是很重要的,尤其是server.xml,这是容器的主配置文件。
●/lib:存放Tomcat运行需要加载的jar包。
●/logs:日志文件的默认目录。存放Tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志(清空不会对Tomcat运行带来影响)。
●/webapps:核心目录。存放客户端可以访问的资源,如Java程序,当Tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。其中的每一个文件夹都是一个网站,或者是一个web应用;一个Tomcat可以有若干个网站。
●/work:存放Tomcat在运行时的编译后文件,例如JSP编译后的文件。清空work目录,然后重启Tomcat,可以达到清除缓存的作用。