一起学习
这份文档提供了关于Tomcat的一些基本信息,内容如下所示:
1.Tomcat编译版本的安装.
2.被Tomcat使用的批处理文件的内容的说明。
3.关于server.xml文件(Tomcat的主要配置文件)的内容的说明
4.如何让Tomcat与本地的Web服务器协同工作。
5.如何将Tomcat部署在一个真正的网站上。
GETTING STARTED
Tomcat 是一种有JSP环境的Servlet的容器。Servlet容器是代替用户管理和调用 Servlet的运行时外壳。
Servlet容器可以粗略的划分成下面几类:
1.独立的servlet容器
独立的servlet容器Web服务器的一部分。当使用一个以Java为基础的Web服务器时就是这种情况, 例如是JavaWebServer的一部分的servlet容器。独立的Servlet容器是被Tomcat使用的缺省方式。
然而,大多数站点服务器都不是以Java为基础的,这就把我们带领导到下一两种容器类型。
2. 集成到进程中的(In-process) servlet 容器
这种servlet容器和是把Web服务器的plugin和Java容器的实现结合在一起。 Web服务器的plugin在站点服务器的地址空间的内部打开一个JVM并且让Java容器在其中运行。 如果某一个请求(Request)要求执行Servlet,那么plugin就会接管这个请求并将它传递给 Java容器(使用JNI)。这种集成到进程中的很适合多线程单一进程的服务器,而且具有很好的性能。 但是伸缩性不好。
3.未集成到进程中的(Out-of-process) servlet 容器
这一类servlet容器也是将Web服务器的plugin和JVM中运行的的Java容器的实现结合在一起, 但它是在Web服务器的外部运行的。Web服务器plugin和Java容器JVM使用某种IPC机制(通常是TCP/IP Socket)进行通信。 如果某一个请求(Request)要求执行Servlet,那么plugin就会接管这个请求并将它(使用IPC)传递到Java容器。虽然这一类Servlet容器的反应时间比不上集成进线程的Servlet容器,但是在很多方面(可伸缩性、稳定性,等等)都要好于上一类。
Tomcat能被用作一个独立的容器(主要是用来开发和调试),或者当作一个已经存在的Web服务器 (目前支持阿帕奇,IIS和Netscape服务器)的一个附加软件(add-on)。 这意味只要你部署Tomcat你就不得不决定如何使用它;同时,如果你选择选择2或者3, 你还将需要安装Web服务器软件。 Tomcat和
Jserv之间的区别是什么? Tomcat==Jserv,不是吗?
这是一种普通的误解。Jserv是被建立为与阿帕奇一起使用的Servlet API 2.0兼容的容器。 Tomcat是完全重写并且兼容Servlet API 2.2和JSP 1.1的一种容器。
Tomcat使用了一些Jserv的代码,尤其是Jserv的阿帕奇服务器适配器(adapter), 但是相似的地方仅此而已。
我应该如何安装Tomcat的编译版本?
很简单. 你应该这样做:
由下面的地址下载 zip/tar.gz/无论什么(whatever) 文件
当然是jakarta-tomcat.zip或jakarta-tomcat.tar.gz。
将下载的文件解压缩到某个目录 (例如 foo)。这将会创建一个叫做"tomcat"的新的子目录。
把当前目录改变成为“tomcat”并且设置新的环境变量(TOMCAT_HOME),使它指向你的tomcat所在的目录。
在 Win32 系统中你应该键入:
"set TOMCAT_HOME=foo\tomcat"
在 UNIX 系统中你应该键入:
for bash/sh "TOMCAT_HOME=foo/tomcat ; export TOMCAT_HOME"
for tcsh "setenv TOMCAT_HOME foo/tomcat"
设置环境变量 JAVA_HOME ,使其指向你的JDK所在的目录,然后将Java解释器所在的路径添加到你的Path 环境变量中。
for Example: 在Win98下,键入set JAVA_HOME=C:\jdk1.3\
set PATH=c:\jdk1.3\bin;%PATH%
在Win NT下,环境变量的设置应该在 控制面版>系统>环境 中设置
That's it! 你现在就可以执行Tomcat,它将作为独立的Servlet容器(类型 I)来运行。
启动和停止 Tomcat
你可以用tomcat/bin目录中的批处理文件来启动Tomcat。
启动Tomcat:
在 UNIX 下: bin/startup.sh
在 Win32下 : bin\startup
停止 Tomcat:
在 UNIX 下: bin/shutdown.sh
在 Win32下: bin\shutdown
Tomcat 目录的结构
假设你已经将 Tomcat 的编译分发版本(binary distribution)解压缩(unzipped/untared)了, 你应该的到下表中所示的目录结构:
目 录 名 描 述
bin 包含启动和停止...批处理文件(scripts)。
conf 包含设置部署在Tomcat上的Web应用的变量的初始值的设置文件,包括 server.xml (Tomcat 的主要配置文件) 和 web.xml
doc 包含关于Tomcat的各种各样的文档。
lib 包含被Tomcat使用的各种各样的jar文件。在UNIX上,任何这个目录中的文件将被附加到Tomcat的classpath中。
logs Tomcat的log文件。
src servlet API的源文件。 但是别激动,呵呵,这些仅仅是应该被任何servlet容器执行的空的接口和抽象类别。
webapps 包含一些Web应用的例子
另外你可以,或者Tomcat会自动建立下列的目录:
WORK 由Tomcat自动生成,这是Tomcat放置它运行期间的中间(intermediate)文件(诸如编译的JSP文件)地方。 如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。
CLASSES 你可以建立这个目录以把附加的类增加到classpath中。你放到这个目录中的任何类都将会出现在Tomcat的classpath中。
Tomcat的批处理(Scripts)文件
Tomcat是一个Java程序,因此在设置若干环境变量之后,从命令行执行它是可能的。 然而,通过设置手工Tomcat用到每一环境变量和使用命令行参数来调用Tomcat是容易出错和乏味的工作。 所以,Tomcat开发组提供了一些批处理(scripts)文件来使启动的和停止Tomcat更加容易。
注意:批处理仅仅是一种方便的启动和停止Tomcat的方法... 。你可以修改他们以定制自己的CLASSPATH,环境变量(诸如PATH和LD_LIBRARY_PATH等等),但要确保生成的命令行是正确的。
这些批处理文件都是什么? 下列的表格中列出了对普通的用户是最重要批处理文件:
批处理文件 描 述
tomcat 主要的Tomcat批处理文件。用来设定正确的环境,包括的CLASSPATH,TOMCAT_HOME和JAVA_HOME,并且用适当(proper)的命令行参数启动Tomcat。
startup 启动Tomcat(Starts tomcat in the background)。 "tomcat start"的快捷方式。
shutdown 停止Tomcat。 "tomcat stop"的快捷方式。
对用户来说,最重要的一个批处理文件是 tomcat(tomcat.sh/tomcat.bat)。其他和Tomcat 相关的批处理文件仅仅是作为一种简单的单任务的指向Tomcat批处理文件的一种转向(放置不同的命令行参数等等)。 (simplified single-task oriented entry point to the tomcat script)
更进一步分析 tomcat.sh/tomcat.bat ,它执行以下操作:
操作系统 行为
Unix 如果TOMCAT_HOME未被指定,猜想TOMCAT_HOME是什么.
如果JAVA_HOME未被指定,猜想JAVA_HOME是什么.
设置一个包含如下信息的 CLASSPATH -
${TOMCAT_HOME}/classes 目录 (如果可用).
${TOMCAT-HOME}/lib中的所有内容。
${JAVA_HOME}/lib/tools.jar (这个jar文件包含工具javac,我们需要javac来编译jsp文件)。
用带命令行参数的java命令建立称为tomcat.home的系统环境,用org.apache.tomcat.startup.Tomcat作为启动类(startup class)。它也把命令行参数传递到org.apache.tomcat.startup.Tomcat,诸如:
执行开始/停止/运行等等(start/stop/run/etc)的操作。
被这个Tomcat进程(process)所用的 server.xml 文件的路径。
例如:如果server.xml位于/etc/server_1.xml,而用户想要在后台(background)中启动apache,他们应该使用下列的命令行:
bin/tomcat.sh start -f /etc/server_1.xml
Win32 设置包含下列信息的 CLASSPATH -
在 %TOMCAT_HOME%\lib 目录中的 servlet.jar, webserver.jar, jasper.jar, xml.jar
%TOMCAT_HOME%\classes (即使不存在也会设置),
%JAVA_HOME%\lib\tools.jar (其中包含执行jsp文件所需的工具javac).
执行java,假定它的路径在PATH中,用带命令行参数的java命令建立称为tomcat.home的系统环境,用org.apache.tomcat.startup.Tomcat作为启动类(startup class)。它也把命令行参数传递到org.apache.tomcat.startup.Tomcat,诸如:
执行开始/停止/运行等等(start/stop/run/etc)的操作。
被这个Tomcat进程(process)所用的 server.xml 文件的路径。
例如:如果server.xml位于 conf\server_1.xml,而用户想要在后台(background)中启动apache,他们应该使用下列的命令行:
bin\tomcat.bar start -f conf\server_1.xml
下载本文示例代码
Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册Tomcat - 简明用户手册