




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 Tomcat的安装与配置 Tomcat可以运行Servlet和JSP,是一个小型的轻量级应用服务器,它性能稳定、扩展性好、源码开放,是开发中小型Web应用系统的首选。本章首先介绍Tomcat服务器特点、层次结构、应用处理流程及发展史,然后讲述Tomcat的安装、设置和测试,接着介绍Tomcat目录结构、常用配置平台、控制和管理程序等,最后设计一个不需数据库支持的简单聊天室。1.1 Tomcat简介Tomcat是Sun的JSWDK(Java Server Web Development Kit)中的Servlet容器,属于Apache软件基金会(Apache Software Found
2、ation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司和个人共同开发而成。Tomcat既是一个开放源码、免费支持JSP和Servlet技术的容器,同时又是一个Web服务器软件,受到了Sun公司的大力推荐和支持。因此,Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。与传统桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目录中的文件也具有不同的功能。部署应用程序时,只需要把WAR文件放到Tomcat的webapp目录下,Tomcat会自动
3、检测和解压该文件。JSP文件第一次执行时,要先由Tomcat将其转化为Servlet文件,然后编译,所以速度会慢一些,但后继执行时速度会很快。Tomcat既是一个Servlet容器,又是一个独立运行的服务器,像IIS、Apache等Web服务器一样,具有处理HTML页面的功能。但它处理静态HTML文件的能力并不是太强,所以一般都是把它当作JSP/Servlet引擎,通过适配器(Adapter)与其他Web服务器软件(如Apache)配合使用。此外,Tomcat还可与其他一些软件集成起来实现更多功能,例如,与JBoss集成起来开发EJB、与OpenJMS集成起来开发JMS应用、与Cocoon(A
4、pache的另外一个项目)集成起来开发基于XML的应用等。Tomcat是一个小型的轻量级应用服务器,运行时占用系统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统中的常用功能,并且不断改进和完善。Tomcat适用于中小型系统和并发访问用户不太多的场合,是开发和调试JSP程序的首选。先进的技术、稳定的性能、源码开放和免费获取的机制,使得Tomcat深受Java爱好者的喜爱并得到了许多软件开发商的认可,成为目前相当流行的Web应用服务器。1.1.1 Servlet简述谈起Tomcat,就不能不说Servlet,如果没有Servlet的应用需求,就没有Tomcat的产生。Servlet(小服务
5、程序)是一个与协议无关的、跨平台的Web组件,它基于Java技术开发,由Servlet容器所管理。和运行在客户端浏览器中的Applet(小应用程序)相似,Servlet运行在服务器端,可以动态地扩展服务器的功能,并采用“请求响应”模式提供Web服务。Servlet的主要功能是交互式地浏览和修改数据,生成动态Web内容。Servlet是平台独立的Java类,即按照Servlet规范编写的Java类,所以具有Java语言的所有优点,如良好的可移植性及安全性等。Servlet被编译为平台中立的字节码,可以被动态地加载到支持Java技术的Web服务器中运行,就如同Applet对客户端一样,区别在于Se
6、rvlet运行并不需要图形用户界面。Java Servlet具有如下优点:(1)Servlet可以和其他资源(数据库、文件、Applet和Java应用程序等)交互,把生成的响应内容返回给客户端。如果需要,还可以保存“请求响应”过程中的信息。(2)服务器采用Servlet可以完全授权对本地资源的访问,Servlet自身也会控制外部 用户的访问数量及访问性质。(3)Servlet可以从本地硬盘,或者通过网络从远端硬盘来激活。(4)通过Servlet Tag技术,可以在HTML页面中动态调用Servlet。(5)Servlet可以是其他服务的客户端程序。(6)通过链接技术,一个Servlet可以调用
7、另一个或一系列Servlet来成为它的客户端。(7)Servlet API与协议无关。1.1.2 Tomcat与Servlet之间的关系当初在Apache开发时还未出现Servlet的概念,所以Apache不能内置支持Servlet。实际上,除了Apache,其他许多Web服务器软件都不能直接支持Servlet。为了支持Servlet,通常要单独开发程序,这种程序一般称为服务器小程序容器(Servlet Container),有时也叫做服务器小程序引擎(Servlet Engine)。它是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式
8、化基于MIME的响应,它在Servlet的生命周期内包容和管理Servlet,是一个实时运行的外壳程序。运行时由Web服务器软件处理一般请求,并把Servlet调用传递给“容器”来处理。Tomcat就是满足这种需要的JSP/Servlet引擎,是Sun公司的JSP/Servlet的官方实现。按照工作模式的不同,Servlet容器可以分为以下3类:1独立运行的Servlet容器在这种模式下,Servlet容器作为构成Web服务器的一部分而存在。当使用基于Java的Web服务器时,就属于这种情况。这种方式是Tomcat的默认模式,然而大多数Web服务器并不是基于Java的,所以就产生了下面的两种其
9、他类型。2内置的Servlet容器Servlet容器由Web服务器插件和Java容器两部分组成。采用这种方式时,Web服务器插件需要在某个Web服务器内部地址空间中打开一个JVM(Java虚拟机),在此JVM上加载Java容器并运行Servlet。如果客户端调用Servlet,Web服务器插件首先获得此请求的控制并将它传递(使用JNI技术)给Java容器,然后Java容器把此请求交给Servlet来处理。这种方式运行速度较快,并且能够提供良好的性能,适用于单进程、多线程服务器,但是在伸缩性方面存在不足。3外置的Servlet容器采用这种方式时,Servlet容器运行在Web服务器外部地址空间。
10、先由Web服务器插件在某个Web服务器外部地址空间打开一个JVM(Java虚拟机),然后加载Java容器来运行Servlet。Web服务器插件和JVM之间使用IPC(进程间通信)机制(通常是TCP/IPSockets)。如果客户端调用Servlet,Web服务器插件首先获得此请求的控制并将它传递(使用IPCs技术)给Java容器,然后Java容器把此请求交给Servlet来处理。这种方式对客户端请求的处理速度不如内置Servlet那样快,但是在其他方面(如可伸缩性、稳定性等)具有优势。Tomcat属于Servlet容器,其工作模式也分为上述3种,所以Tomcat既可被用作独立运行的Servle
11、t引擎(便于开发和调试),又可作为一个需要增强功能的Web服务器(如当前的Apache、IIS和Netscape服务器)插件。在配置Tomcat之前,就需要确定采用哪种工作模式,工作模式(1)比较简单,直接安装Tomcat即可,工作模式(2)和(3)有些复杂,除了安装Tomcat、Web服务器之外,还需要安装连接两者的中间连接件。【专家提示】在本书中,如果没有特殊说明,Tomcat运行都采用独立运行的Servlet容器 方式。Java Servlet API是Servlet容器和Servlet之间的接口,它定义了Servlet的各种方法,还定义了Servlet容器传送给Servlet的对象类,
12、其中最重要的是请求对象ServletRequest和响应对象ServletResponse。这两个对象都是由Servlet容器在客户端调用Servlet时产生的,Servlet容器把客户请求信息封装在ServletRequest对象中,然后把这两个对象都传送给要调用的Servlet,Servlet处理完后把响应结果写入ServletResponse,然后由Servlet容器把响应结果发送到客户端。Tomcat服务器接收客户端请求并作出响应的完整过程如图1-1所示。图1-1 Tomcat服务器响应客户请求过程其中,处表示Web服务器接收到客户端发出的HTTP请求后,转发给Servlet容器,同时
13、把控制返回Servlet容器;处表示Servlet容器把响应对象ServletResponse中的处理结果转发给Web服务器,通知Web服务器以HTTP响应的方式把结果发送到客户端,同时把控制返回Web服务器。1.1.3 Tomcat层次结构Tomcat服务器由一系列可配置组件构成,其中核心组件是Catalina Servlet容器,它是其他所有Tomcat组件的顶层容器。Tomcat各组件之间存在的层次关系如图1-2所示。图1-2 Tomcat层次关系【专家提示】Tomcat的组件可以在confserver.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元
14、素。在XML文件的代码中,这些组件之间关系如下所示:上述各组件将Tomcat分成若干层(Server层、Service层、Engine层、Host层、Context层),各层通过数据管道PipeLine交互,如图1-3所示。上述各层对应组件及其在Tomcat服务器中的作用如下:(1)Server层对应Server组件,逻辑上表示整个Tomcat,即整个Catalina Servlet容器。它处于Tomcat顶层,可以包含一个或多个Service层。Tomcat提供了该层接口的一个默认实现,所以通常不需要用户自己去实现。图1-3 Tomcat的层次结构(2)Service层对应Service组件
15、,是包含在Server层中的一个逻辑功能层。它包含一个Engine层,以及一个或多个连接器(Connector)。Service组件将一个或多个Connector组件绑定到Engine层上,Connector组件侦听端口,获得用户请求,并将请求交给Engine层处理,同时把处理结果发给用户,从而实现一个特定的实际功能。Tomcat提供了Service接口的默认实现,所以通常也不需要用户定制。(3)Engine层对应Engine组件,该层是请求分发处理层,可以连接多个Connector。它从Connector接收请求后,解析出可以完成用户请求的URL,根据该URL可以把请求匹配到正确的Host上
16、,当Host处理完用户请求后,Engine层把结果返回给适合的连接器,再由连接器传输给用户。该层的接口一般不需要用户来定制,特殊情况下,用户可以通过实现该接口来提供自定义的引擎。(4)Host层对应Host组件,该层表示一个虚拟主机,一个Engine层可以包含多个Host层,每个Host层可以包含一个或多个Context层,对应不同的Web应用。因为Tomcat给出的Host接口的实现(类StandardHost)提供了重要的附加功能,所以用户通常不需要定制Host。(5)Context层对应Context组件,该层代表某个虚拟主机上的实际目录或一个WAR,即单个Web应用程序,它运行在特定的
17、虚拟主机中,使用最为频繁。一个Host层包含多个Context层,每一个Context都有唯一的路径,Host层接到请求后,根据用户请求的URL,将请求定位到Context层。1.1.4 Java Web应用处理充当Java Web的容器是Tomcat服务器最主要的功能。Java Web在Sun的Java Servlet规范中定义如下:Java Web应用由一组Servlet、HTML页、类,以及其他可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Web应用容器中运行。由此定义可知,在JavaWeb应用中可以包含Servlet、JSP、类、静态文档和配置信息等。每个Web
18、应用都对应唯一的Context,Servlet容器为每个运行的Java Web应用创建唯一的ServletContext对象,该对象被同一个Web应用中的所有组件所共享。假设有3个Web应用,分别为HelloWorld、Counter和TableList,它们对应的主页URL分别如下:HelloWorld:http:/localhost1:8080/HelloWorld/index.htmlCounter:http:/localhost1:80/Counter/index.jspTableList:http:/localhost2:8086/TableList/index.jsp3个用户分别访
19、问上述3个地址,则Tomcat服务器各个组件响应用户请求的过程如 图1-4所示,其中每个Context容器对应唯一的Java Web应用。图1-4 Tomcat服务器各组件响应用户请求过程1.1.5 Tomcat发展随着Sun公司发布的Servlet/JSP规范不断完善和升级,Tomcat的版本也逐步更新。Tomcat版本和Servlet/JSP规范之间的对应关系如表1-1所示。表1-1 Tomcat版本和Servlet/JSP规范Tomcat版本Servlet/JSP规范/2.15.5.x2.4/2.04.1.272.3/1/2其中,Tomcat目前的最新版本是Tomcat
20、 6.0.14,它支持最新的J2SE标准、执行效率高、使用方便、发展前景良好,所以本书围绕Tomcat 6.0.14展开讲述。1.2 Tomcat的安装本节将介绍Tomcat工作环境的安装、基本的启动与停止方法、JDK的安装与JVM性能调整、二进制版本的Tomcat安装以及从源代码安装Tomcat,最后讲解如何启动、停止和自动启动Tomcat,并进行安装的测试。1.2.1 安装准备在安装Tomcat之前必须先安装JDK。JDK的全称是Java Development Kit,是Sun公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译可形
21、成Java字节码,只要安装了JDK,就可以利用JVM解释这些字节码文件,从而保证了Java的跨平台性。在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统API实现对应功能的Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat也具有上述特征,所以需要预先下载JDK和Tomcat,这两个软件的版本和下载地址如下:JDK选择Sun官方网站提供的JDK-6U1,下载网址为/ECom/ EComActionServlet;jsessionid=6C6B460AC2EF83F7FF253E51D5B5BA1C。用户访问
22、上述网址需要注册,注册后就可以根据自己的计算机平台配置选择合适版本。如果使用32位Windows系统,那么选择下载:Windows Offline Installation (build 06),Multi-languagejdk-6u2-windows-i586-p.exe如果使用32位Linux系统,那么选择下载:Linux RPM in self-extracting file (build 05)jdk-6u2-linux-i586-rpm.bin如果使用64位Windows系统,那么选择下载:Windows x64 executable (build 05)jdk-6u2-windo
23、ws-amd64.exe如果使用64位Linux系统,那么选择下载:Linux x64 RPM in self-extracting file (build 05)jdk-6u2-linux-amd64-rpm.binTomcat选择apache - tomcat 6.0.14,下载网址为/download-60.cgi。在如图1-5所示的下载页面中,Binary Distributions(二进制发行版)下方有若干组下载项,每组下载项有两个不同的版本对应不同的操作系统,其中zip是Windows平台下运行版本,tar.gz是Linux平台下运行版
24、本。其中Core组和Administration Web Application组必须下载,这两组分别对应Tomcat核心安装包和控制平台包,其他组内容可以根据需要来决定是否下载。图1-5 Tomcat下载页面本书内容都基于32位Windows系统,所以JDK选择jdk-6u1-windows-i586-p.exe,Tomcat选择apache- tomcat 6.0.14.zip和apache- tomcat 6.0.14-admin.zip。对于Windows操作系统,tomcat 6.0.14提供了两种安装文件,一个文件为apache-tomcat 6.0.14.exe,另一个文件为ap
25、ache-tomcat 6.0.14.zip。apache-tomcat 6.0.14.exe是可运行的安装程序,读者只需要双击这个文件,即可开始安装Tomcat。在安装过程中,安装程序会自动搜寻JDK和JRE的位置,并把Tomcat服务加入到Windows操作系统的服务中,同时在“开始”“程序”菜单中加入Tomcat服务器管理菜单。apache-tomcat 6.0.14.zip是一个压缩包,只需要把它解压到本地硬盘即可,这种方式既适合Windows系统下的安装,也适用于其他操作系统,例如Linux系统,所以下面主要介绍apache-tomcat 6.0.14.zip的安装与Tomcat运行
26、环境的设置。1.2.2 JDK安装及设置(1)双击jdk-6u1-windows-i586-p.exe,弹出如图1-6所示界面。单击“接受”按钮进入下一步。图1-6 执行安装程序(2)选择安装内容及路径,如图1-7所示。其中,中间列表是要安装的可选功能,单击每个可选功能左边的按钮,将弹出下拉菜单,其选项内容包括“此功能将安装在本地硬盘驱动器上”、“此功能及所有子功能将安装在本地硬盘驱动器上”、“现在不安装此功能”和“此功能将不可用”,系统默认均为第一个选项。(3)安装JRE,如图1-8所示。 图1-7 选择安装内容及路径 图1-8 设置JRE安装内容及路径【专家提示】系统默认安装路径是C:Pr
27、ogramFilesJavajdk1.6.0_02,若想安装到其他路 径,可单击右边的“更改(A)”按钮,选择其他安装路径。建议将JDK安装在C盘根目录下,即JDK的安装目录是C: jdk1.6.0_02。设置好安装内容及路径后,单击“下一步(N)”按钮,即在选择的安装路径下开始安装所选的内容。JRE是Java Runtime Environment的缩写,是Java运行环境,即Java平台。和第二步界面相似,中间列表是要安装的可选功能,系统默认的都是第一个选项。下面是系统安装路径,默认是C:Program FilesJavajre1.6.0_02,若想安装到其他路径,可单击右边的按钮,选择其
28、他安装路径,JRE按照默认路径安装即可。设置好安装内容及路径后,单击“下一步(N)”按钮,即可在选择的安装路径下安装所选的内容。安装完毕后弹出如图1-9所示界面,提示JDK安装完成。图1-9 安装完成安装完成后可以发现系统存在两套JRE,一套位于jre目录下(即C:jdk1.6.0_02jre),另一套位于C:Program FilesJavajre1.6.0_02目录下,后面这套比前面那套少了Server端的JVM,把前面那套Server端的JVM复制过来后两者效果一样。其实,在上述步骤中的第二步,已经安装了JDK和JRE(第一套),第三步安装的是第二套JRE。安装两套JRE的原因是:JDK
29、是基于DOS界面的Java程序集成开发环境,而JRE是Java程序运行的必备平台,即所谓的JVM。安装两套JRE,就是在机器上安装了两个JVM,它们都可以运行Java程序。Java应用程序可以分为两种,一种是JDK目录中的应用程序,另一种是根据各种应用需要开发的一般Java程序。它们执行时分别使用不同的JRE,可以减少搜索时间,利用JRE并行运行的特点来提高程序执行速度,所以C:jdk1.6.0_02jre下的JRE运行JDK目录中的应用程序,而C:Program FilesJavajre1.6.0_02下的JRE运行一般Java应用程序。安装完成后需要重新启动计算机,然后设置环境变量,步骤如
30、下:(1)右击“我的电脑”,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框,选择“高级”选项卡,单击“环境变量”按钮,打开“环境变量”对话框,如图1-10所示。(2)单击“系统变量”选项区域中的“新建”按钮,打开“新建系统变量”对话框,变量名设置为JAVA_HOME,变量值设置为C:jdk1.6.0_02,如图1-11所示,此变量值为JDK安装目录所在位置。 图1-10 “环境变量”对话框 图1-11 “新建系统变量”对话框(3)再新建一个系统变量,变量名设置为classpath,变量值设置为;C:jdk1.6.0_02lib; C:jdk1.6.0_02libtools.jar,
31、此变量值表示搜索Java类的路径,该路径中包含一些Jar归档文件或者相应的目录,Java程序执行时往往会从classpath中选择并添加自己需要的类路径。设置时需要注意,变量值最前面的“.”表示当前路径,不可以省略,不同值之间用“;”隔开。(4)选中“系统变量”面板中的Path变量,然后单击“编辑”按钮,在弹出的“编辑系统变量”对话框中,在变量值的最后添加;C:jdk1.6.0_02bin,此变量设置一些常用目录,该目录中的文件在任何地方都可以直接访问,从而免去了在不同目录间反复切换的麻烦。【专家提示】为了检验环境变量设置是否成功,可以采用下面的方法:选择“开始”“运行”命令,输入cmd,进入
32、DOS界面,然后在其中运行java和javac这两个命令,如果输出对应的帮助信息,则表明环境变量已经设置成功。1.2.3 Tomcat安装及设置把Tomcat压缩文件apache-tomcat-6.0.14.zip中的内容解压缩到C:apache-tomcat-6.0.14下,然后按照1.2.2节中增加系统变量的方法增加系统变量。变量名:TOMCAT_HOME;变量值:C:apache-tomcat-6.0.14。然后修改系统变量classpath,添加%TOMCAT_HOME%commonlibservlet-api.jar;同时修改系统变量path,添加%TOMCAT_ HOME%bin。
33、1.2.4 测试Tomcat要测试Tomcat服务器是否安装成功,首先要启动Tomcat服务器。在Tomcat安装目录C:apache-tomcat-6.0.14下面有一个bin目录,里面有两个文件:startup.bat和shutdown.bat,分别控制Tomcat的启动和关闭。由于在1.2.3节中已经把该目录加入到系统变量Path中,所以在命令行中直接输入对应的文件名即可实现Tomcat的启动和关闭,而不需要切换目录。在命令行中输入startup.bat,即可启动Tomcat,如图1-12所示。图1-12 启动Tomcat 然后在浏览器地址栏中输入http:/localhost:8080
34、,按Enter键访问。如果出现如图1-13所示界面,则说明Tomcat安装成功。图1-13 Tomcat默认主页该界面是Tomcat服务器默认主页,对应文件是Tomcat安装目录下的webappsROOT index.jsp。该页面包含很多有用信息,对初学者大有益处,左边由上至下分为5个链接块,内容分别是系统管理(Administration)、Tomcat文档(Documentation)、Tomcat在线服务(Tomcat Online)、代码事例(Examples)和其他内容(Miscellaneous)。页面正文中提供两个Tomcat服务邮箱方便用户咨询,其中的userstomcat.
35、解答用户在Tomcat配置和使用中遇到的问题,解答用户在利用Tomcat进行Web开发中遇到的问题。下面测试一般JSP页面是否可以在Tomcat下正常运行。编写一个测试页面csaitest.jsp,内容如下: JSP Test Page Current Time is % out.println(Welcome to JSP World!); %把该文件放置在Tomcat安装目录下的webappsROOT文件夹中,然后在浏览器地址 栏中输入http:/localhost:8080/csaitest.jsp,按Enter键访问。正常情况
36、下应该出现如图1-14所示界面。图1-14 测试页面在浏览器地址栏中输入的8080表示端口号,端口(port)是计算机与外界通信交流的出口。硬件领域的端口又称接口,如USB端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,包括一些数据结构和I/O(基本输入/输出)缓冲区。8080端口一般用于WWW代理服务,可以实现网页浏览。在访问某个网站或使用代理服务器时,经常加上“:8080”端口号,所以除了Tomcat,其他应用程序有时也会占用8080端口,如Oracle、JBoss等,这就会造成端口冲突问题,如图1-15所示。而且8080端口可以被各种病毒程序所利用和攻击,所以在
37、某些情况下需要修改Tomcat的默认8080端口。下面以把Tomcat的8080端口改成8000端口为例讲解如何修改Tomcat默认端口号。Tomcat安装目录下的conf子目录存放Tomcat服务器的各种配置文件,其中的server.xml是一个标准的XML文档,在其中可以修改Tomcat默认端口号。利用任一文本编辑工具打开server.xml,将8080端口改为8000端口。对于初学者而言,由于不熟悉该文档结构,寻找修改端口号的位置有些困难。可以利用文本编辑工具的查找功能寻找8080字符串,找到后把该字符串改成8000即可。图1-15 8080端口冲突在Tomcat安装目录下有一个bin目
38、录,里面的文件与Tomcat的启动与关闭有关。用记事本打开文件startup.bat和shutdown.bat,发现它们执行的是同一目录下的脚本catalina.bat,只不过是对应的参数不同。catalina.bat是控制Tomcat运行的重要脚本,允许采用命令行参数输入形式,使用方式为catalina 参数。不同参数实现的功能如表1-2所示。表1-2 catalina.bat执行参数列表命令行参数功 能 解 释Debug在调试模式下启动Tomcat服务器debug -security在带安全管理的调试模式下启动Tomcat服务器jpda start在jpda调试模式下启动Tomcat服务器
39、Run在当前DOS窗口启动Tomcat服务器run -security在带安全管理的当前DOS窗口启动Tomcat服务器Start在新的DOS窗口启动Tomcat服务器start -security在带安全管理的新的DOS窗口启动Tomcat服务器Stop关闭Tomcat服务器Version显示Tomcat系统配置信息其中系统默认参数是start,即在新窗口中启动Tomcat服务器。命令行参数加入-security表示在安全管理模式下运行,否则表示在一般模式下运行。两种模式不同之处在于采用的安全策略文件不同,一般模式下采用的安全策略文件是JDK安装目录jrelibsecurity子目录中的ja
40、va.policy,而在安全管理模式下采用的安全策略文件是Tomcat安全目录conf子目录中的catalina.policy。很明显,安全管理模式的安全程度要高于一般模式。命令行参数中的jpda指的是Java平台调试构架,是一组API集合,包括接口和协议,可以对运行中的Java应用程序进行全方位调试。1.3 Tomcat的配置运行Tomcat之后,需要对Tomcat进行个性化的设置。本节将介绍包括虚拟机、站点参数和用户验证等方面的Tomcat配置。1.3.1 Tomcat目录结构在配置Tomcat之前,首先要了解Tomcat的目录结构。Tomcat安装后目录层次结构如图1-16所示。图1-1
41、6 Tomcat安装目录不同目录的用途如表1-3所示。表1-3 Tomcat目录结构及用途目 录用 途bin存放启动和关闭Tomcat的脚本文件commonlib存放Tomcat服务器及所有Web应用都可访问的JAR文件conf存放Tomcat服务器的各种配置文件,包括server.xml、web.xml、catalina.policy等logs存放Tomcat的日志文件serverlib存放Tomcat服务器可以访问的JAR文件serverwebapps存放Tomcat自带的两个Web应用:admin和manager,用来管理Tomcat的Web服务sharedlib存放所有Web应用都可以
42、访问的JAR文件temp存放Tomcat运行时的临时文件webappsWeb应用的发布目录,把Web应用文件放入该目录下就可以通过Tomcat服务器来访问work存放JSP经过Tomcat编译后生成的Servlet由表1-3可知,在commonlib、serverlib和sharedlib目录下都可以存放JAR文件,但是有所区别:在commonlib目录下的JAR文件可以被Tomcat服务器和所有Web应用访问;在serverlib目录下的JAR文件只可以被Tomcat服务器访问;在sharedlib目录下的JAR文件可以被所有的Web应用访问,但不能被Tomcat服务器访问。1.3.2 To
43、mcat常用配置文件在Tomcat目录中,比较重要的配置文件有conf下的tomcat-users.xml、server.xml以及webapps中应用程序目录下的web.xml。Tomcat采用基于角色的访问控制模型管理用户对系统的使用,安全性比较高,其角色和对应用户都保存在tomcat-users.xml中。Tomcat服务器是由一些可配置的组件构成,在server.xml文件中可以对这些组件进行配置,每个Tomcat组件和server.xml文件是一一对应的。web.xml是按照Servlet规范定义的Web应用发布描述符文件,是完全独立于Tomcat容器的Web应用配置文件。下面是一个
44、tomcat-users.xml文件的内容: 其中,文件开头声明了XML的版本和编码方式,和之间描述了系统中的角色和用户。其中表示建立了一个名字叫tomcat的角色;表示建立了一个用户,名字为tomcat,密码为tomcat,拥有角色tomcat所拥有的权限。一个用户可以拥有多个角色的权限,表明用户both拥有角色tomcat和role1两者的权限。该文件具有扩充性,用户可以增加角色和用户。1.3.3 Tomcat管理程序实际使用中,需要配置Tomcat服务器以及Web应用,这是通过结合手工编辑XML文件和平台配置实现的,主要分为两部分:控制配置和管理配置。控制配置可以配置Tomcat服务器以
45、及Web应用;管理配置可以在不重启Tomcat服务器的情况下,方便地发布、启动、停止或卸载Web应用。在Tomcat 6以前的版本中,分别通过控制平台和管理平台对Tomcat实施控制配置和管理配置,这两个平台都可以通过在浏览器地址栏中输入URL的方式进行登录。但由于Tomcat 6.0.14没有提供控制平台包,所以要通过修改conf子目录下的server.xml来进行控制配置,管理配置可以通过Tomcat自带的管理平台来实现,该平台位于Tomcat安装目录serverwebappsmanager下。1.3.4 Tomcat的控制配置在Tomcat 6.0.14中,进行控制配置的主要途径是修改c
46、onf子目录下的文件server.xml,主要配置内容包括3部分:Service、Resource和User Definition。其中Service配置内容和1.1.3节中的内容相同,主要是通过配置文件server.xml中的元素、元素、元素、元素、元素和元素来添加、删除或修改相应的组件,从而对Web应用实施全方位的管理。Resource用于配置Tomcat中的各种资源,主要包括以下4种:Data Source(数据源)、Mail Session(邮件会话)、Environment Entry(环境入口)和User Database(用户数据库)。1.3.5 Tomcat的管理配置在浏览器地
47、址栏中输入http:/localhost:8080/manager/html,或者在图1-13中单击左上方Administration下的Tomcat Manager,均可进入Tomcat管理平台的登录界面,如图1-17所示。图1-17 管理平台登录界面默认情况下,Tomcat并没提供具有管理权限的账号,所以需要添加具有这种权限的账号。角色manager具有这种权限,但在系统用户控制文件tomcat-users.xml中并没有设置这两种角色和对应的用户,所以需要添加这种角色和用户,方法是打开tomcat-users.xml文件,添加如下内容: 上述代码先创建角色manager,然后创建对应的用
48、户manager,tomcat-users.xml文件修改后,必须重启Tomcat服务器,文件修改才能生效。在图1-17中,输入用户名manager和密码manager,单击“确定”按钮即可进入Tomcat管理平台,如图1-18和图1-19所示。图1-18 Tomcat管理平台1图1-19 Tomcat管理平台2Tomcat管理平台自上而下分为以下5部分:(1)Message消息栏,表示Tomcat管理平台情况,其值为OK时表示正常工作。(2)Manager下面有4个链接选项,分别是List Applications(Web应用管理列表)、HTML Manager Help(如何管理基于HTM
49、L的Web应用的帮助信息)、Manager Help(如何管理其他Web应用的帮助信息)和Server Status(Tomcat服务器状态),系统默认链接是第一个。(3)Application管理Tomcat服务器中的所有Web应用,每个Web应用都有5个属性,下面分别介绍其含义。q Path:该Web应用的URL入口。q DisplayName:标记此Web应用的一个名称,供GUI工具使用,对应于web.xml中的display-name属性。q Running:此Web应用是否处于运行状态。q Sessions:连接需要的Session数目。q Commands:分为上下两行,上面一行提
50、供若干命令列表,用于Tomcat服务器处于运行状态时管理这些Web应用,这些命令的功能如表1-4所示。 表1-4 应用管理命令命 令功 能Start启动Web应用Stop停止Web应用Reload停止Web应用,重新加载Web应用各种组件,然后重新启动Web应用Undeploy卸载Web应用,并且删除webapps目录下对应的文件(4)Deploy用来发布Web应用,有下述两种方式。第一种方式是在Deploy directory or WAR file located on server下填写该Web应用的相关信息,如Web应用的URL入口、XML配置文件对应路径、WAR文件或者该Web应用相
51、对于webapps目录的文件路径,然后单击按钮,即可发布该Web应用,发布后在Application列表中即可看到该Web应用的信息。这种方式只能发布位于webapps目录下的Web应用。第二种方式是在WAR file to deploy下单击按钮,在弹出的文件对话框中选择需要发布的WAR文件,然后单击按钮,即可发布该Web应用,发布后在Application列表中即可看到该Web应用的信息。这种方式可以发布位于任意目录下的Web应用。其中,第二种方式实际上是把需要发布的WAR文件自动复制到webapps目录下,所以上述两种方式发布的Web应用都可以通过在浏览器地址栏中输入http:/loca
52、lhost:8080/Web进行访问。(5)Server Information显示Tomcat服务器的信息,如Tomcat版本号、JVM版本号、JVM发行商、操作系统名称和版本等信息。1.4 第一个Web应用聊天室是常用的Web应用,在本节中将结合上述内容来设计一个无须数据库支持的简单聊天室。1.4.1 需求分析本聊天室面向普通大众,满足沟通、交流的基本需求,所以功能上应该少而精,而不要多而杂。由于没有数据库存储信息,所以不需保存用户名和密码,用户用昵称即可登录。聊天室采用多用户并发操作机制,聊天内容具有共享性,在公共聊天板上可以看到每个用户的聊天内容,由于没有数据库,所以不存储聊天内容。基于上述分析,本聊天室具有以下功能。q 用户登录:进入聊天室的第一个步骤,用户输入昵称(可任意设定)即可进入聊 天室。q 显示聊天内容:在公
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 痛风关节考试题及答案
- 强制清算的清算方案
- 2026版《全品高考》选考复习方案生物813 实验专题5 实验方案的补充完善以及实验方案的评价与修订含答案
- 美食体验馆餐饮合伙经营合同
- 企业商务礼仪培训课件
- 卷烟批发企业招商方案
- 农业公司避税措施方案
- 药厂气体泄露处理方案
- 宜兴钢材销售方案
- 物业服务方案文库
- 夏季高温作业安全生产专题知识培训课件
- 交通信号统一管控优化平台
- 个人农村承包土地合同范本
- 光伏工程合同
- 海姆立克评分标准
- 碳汇经济与政策智慧树知到期末考试答案章节答案2024年浙江农林大学
- 支付宝商户经营模式说明模版
- 第五章-消费者行为理论:无差异曲线分析
- T-SHNA 0002-2023 泪道冲洗操作规范
- CAAC四类无人机执照综合问答备考试题库及答案
- 老年患者风险评估及安全管理
评论
0/150
提交评论