首页 > IT基础架构 > 网络安全 > [转载]Tomcat环境的建立
Tomcat是在SUN的JSWDK的基础上发展起来的另一个优秀的JSP服务器,它不但支持Servlet,而且还提供了Web服务器的功能。作为一个开放源码的软件,Tomcat有着自己独特的优势,可以和目前大部分的主流服务器一起工作,而且有着相当高的运行效率。 通过本章,读者将会看到: · Tomcat的基本概念 · 如何让Tomcat和IIS一起工作 · 如何让Tomcat和Apache一起工作 · 如何设定JSP的虚拟目录 · 如何将Tomcat设为Windows服务运行
[@more@]Jakarta-Tomcat概貌 综述:Tomcat是一个带有JSP环境的servlet容器。servlet容器是一个根据用户的行为可以管理和激活servlet的运行时的shell。 我们可以粗略地将servlet容器分为如下几类: 独立的servlet容器 内置有web服务器的一部分。指使用基于Java的web服务器的情形,例如servlet容器是JavaWebServer的一个部分。独立的servlet容器是Tomcat的默认模式。 然而,大多数的web服务器并非基于Java。因此,我们可以得出如下两种容器的模式: 进程内的servlet容器 servlet容器作为web服务器的插件和Java容器的实现。Web服务器插件在内部地址空间打开一个JVM(Java virtual machine)使Java容器得以在内部运行。如有某个需要调用servlet的请求,插件将取得对此请求的控制并将它传递(使用JNI)给Java容器。进程内容器对于多线程、单进程的服务器非常合适并且提供很好的运行速度,但伸缩性有所不足。 进程外的servlet容器 servlet容器运行于web服务器之外的地址空间且作为web服务器的插件和Java容器的实现的结合。web服务器插件和Java容器 JVM使用IPC机制(通常是TCP/IP)进行通讯。当一个调用servlet的请求到达时,插件将取得对此请求的控制并将其传递(使用IPC等)给Java容器,进程外容器的反应时间或进程外容器引擎不如进程内容器,但进程外容器引擎在许多其他可比的范围内更好(伸缩性、稳定性等)。 Tomcat既可作为独立的容器(主要是用于开发与调试),又可作为对现有服务器的附加(当前支持Apache、IIS和Netscape服务器)。所以在配置Tomcat时,必须决定如何应用它,如果选择第二或第三种模式,还需要安装一个web服务器接口。 Tomcat与Jserv有何区别?Tomcat是Jserv吗? 这是个常见的误解。Jserv是Servlet API2.0兼容并与Apache一起使用的容器。Tomcat是一个完全重写的并与Servlet API2.2和JSP1.1兼容的容器。 另外,Tomcat使用了一些为Jserv而写的代码,特别是Jserv的Apache接口,但这是唯一的相同之处。 怎样安装Tomcat的二进制版本? 非常简单,只需:下载 zip/tar.gz 任何压缩文件,从http://jakarta.apche.org/download/binindex.html处解压缩此文件到某目录(如:foo),将会生成一子目录,名为"tomcat",转换到"tomcat"目录设置一新的环境变量(TOMCAT_HOME)指向你安装的tomcat的目录: WIN32平台,键入: set TOMCAT_HOME=foo/tomcatUnix平台: 如是bash/sh环境,键入:TOMCAT_HOME=foo/tomcat;export TOMCAT_HOME" 如是tcsh环境,键入:setenv TOMCAT_HOME foo/tomcat 设置环境变量JAVA_HOME指向你JDK的目录,然后添加JAVA解释器到你的PATH环境变量。 好了!现在可以运行TOMCAT并作为一个独立的Servlet容器(模式一) 启动与关闭Tomcat 使用"bin"目录中的脚本启动与关闭Tomcat。 启动: uinx:bin/startup.sh win32:binstartup 关闭: unix:bin/shutdown.sh win32:binshutdown Tomcat目录结构 假设读者已将Tomcat解压,这时将得到下列目录结构:目录名 描述
bin 包含启动/关闭脚本。
conf 包含不同的配置文件,包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件web.xml。
doc 包含各种Tomcat文档。
lib 包含Tomcat使用的jar文件。unix平台此目录下的任何文件都被加到Tomcat的classpath中。
logs Tomcat摆放日志文件的地方。
src ServletAPI源文件。先别高兴,这里只有些必须在Servlet容器内实现的空接口和抽象类。
webapps 包含web项目示例。
work Tomcat自动生成,放置Tomcat运行时的临时文件(如编译后的JSP文件),如果在Tomcat运行时删除此目录.JSP页面将不能运行。
classes 你可以创建此目录来添加一些附加的类到类路径中,任何你加到此目录中的类都可在Tomcat的类路径中找到自身。 Tomcat的脚本 Tomcat是一个Java程序,因此在设置好几个环境变量后即可用命令行的方式运行。然而设置Tomcat使用的每个环境变量和如下的命令行参数乏味且容易出错。因此,Tomcat开发组提供了一些脚本使启动和关闭Tomcat变得非常轻松。 注意:这些脚本仅仅是个便利的方法去启动和关闭Tomcat。你可修改他们来定制CLASSPATH,环境变量如PATH、LD_LIBRARY_PATH等等,只要是生成一个正确的命令行即可。 这些脚本是什么呢?下面列出对一般用户最重要的脚本。 Tomcat:主脚本。设置合适的环境变量,包括CLASSPATH、TOMCAT_HOME以及JAVA_HOME和用适合的命令行参数启动Tomcat 。 startup :在后台启动Tomcat。它是"tomcat start"命令的替换方式。 shutdown :关闭Tomcat。它是"tomcat stop"命令的替换方式。 对用户最重要的脚本是tomcat(tomcat.bat/tomcat.sh)。其他Tomcat相关的脚本作为一个简单的面向单任务的指向Tomcat脚本(设置不同的命令行参数等)的入口。 仔细考察tomcat.bat/tomcat.sh,它按以下步骤运行: 在Unix下的步骤: 如未指定,推测 TOMCAT_HOME 如未指定,推测 JAVA_HOME 设置CLASS_PATH包含: 1.${TOMCAT_HOME}/classes目录(如果存在) 2.${TOMCAT_HOME}/lib的一切内容 3.${JAVA_HOME}/lib/tools.jar(此jar文件包含工具Javac,我们需要Javac处理jsp文件) 运行带有设定Java环境变量的命令行参数的Java命令,调入tomcat.home和org.apache.tomcat.startup.Tomcat 作为启始类。同时也传递命令行参数到org.apache.tomcat.startup.Tomcat ,例如:执行start/stop/run 等的操作。另外,此Tomcat进程使用指向server.xml的路径,例如server.xml放置于etc/server_1.xml并且用户意图在后台启动apache,键入如下命令行: bin/tomcat.sh start -f /etc/server_1.xml
win32版的tomcat.bat与Unix版的几乎一致。尤其在它不推测TOMCAT_HOME和JAVA_HOME的值,并且不将所有的jar文件放入类路径中。 Tomcat的配置文件 这一部分将讲述如何使用配置文件server.xml和web.xml。我们不会包含web.xml的内部机制,这些内部机制深入到了Servlet API的细节,因此,我们将讨论涵盖这两个配置文件在Tomcat关系环境中的用法。
Tomcat的配置基于两个配置文件: 1.server.xml - Tomcat的全局配置文件,完成两个目标: (1)提供Tomcat组件的初始配置 (2)说明Tomcat的结构、含义,使得Tomcat通过实例化组件完成启动及构建自身。结构、含义的说明是通过元素来实现的,下面将描述这些元素。 Server:server.xml文件中最重要的元素。Server定义了一个Tomcat服务器。一般读者不用对它担心太多。Server元素能包含Logger和ContextManager元素类型。 Logger:此元素定义一个Logger对象,每个Logger都有一个名字去标识,也有一个纪录Logger的输出和冗余级别(描述此日志级别)和包含日志文件的路径,通常有servlet的Logger(ServletContext.log()处),JSP和Tomcat运行时的Logger。 ContextManager:它说明了一套ContextInterceptor、RequestInterceptor、Context和它们的Connectors的配置及结构。ContextManager有几个随同提供的特性: a.用来纪录调试信息的调试级别 b.webapps/、conf/、logs/和所有已定义的环境的基本位置。用来使Tomcat可以在TOMCAT_HOME外的其他目录启动。 c.工作目录的名字 ContextInterceptor&RequestInterceptor:这些侦听器(interceptors)侦听具体发生在ContextManager中的事件,例如,ContextInterceptor侦听Tomcat的启动及终止事件,RequestInterceptor监视在它服务过程中用户请求需要通过的不同阶段。Tomcat的管理员不必知道太多关于侦听器的知识;另外,开发者应该知道这是如何在Tomcat中实现一个"全局"型的操作(例如安全性及每个请求日志) 。 Connector:表示一个到用户的联接,不管是通过web服务器或直接到用户浏览器(在一个独立配置中)。Connector负责管理Tomcat的工作线程和读/写连接到不同用户的端口的请求/响应。Connector的配置包含如下信息: a.句柄类 b.句柄监听的TCP/IP端口 c.句柄服务器端口的TCP/IP的backlog Context:每个Context提供一个指向你放置你Web项目的Tomcat的下属目录。每个Context包含如下配置: a.Context放置的路径,可以是与ContextManager主目录相关的路径 b.纪录调试信息的调试级别 c.可重载的标志。开发Servlet时,重载更改后的Servlet,这是一个非常便利的特性 2.web.xml--在Tomcat中配置不同的关系环境 有一个和Tomcat有关的小"特性"与web.xml有关。Tomcat可以让用户通过将缺省的web.xml放入conf目录中来定义所有关系环境的web.xml的缺省值。建立一个新的关系环境时,Tomcat使用缺省的web.xml文件作为基本设置和应用项目特定的web.xml(放在应用项目的WEB-INF/web.xml文件)来覆盖这些缺省值
如何将Tomcat装入IIS IIS,即Internet Information Server,是微软公司提供的一种功能强大的Web服务器,它对ASP有着很好的支持,这一点相信很多读者都已经知道。现在,JSP已经流行起来,如何才能让IIS支持该技术呢?读者将会从本节得到答案。 一、安装环境Windows 2000、IIS 5.0 Tomcat 3.1下载地址 http://jakarta.apache.org/builds/tomcat/release/v3.1/bin/ isapi_redirect.dll下载地址 http://jakarta.apache.org/builds/tomcat/release/v3.1/bin/win32/i386/ 放到{TOMCATHOME}biniisi386isapi_redirect.dll 二、先要保证Tomcat可以正确执行 三、将下面的begin和end之间的Jakarta.reg文件装入机器,我的Tomcat装在c:jakarta-tomcat,你可根据自己的环境修改Jakarta.reg文件 Jakarta.reg: ---begin---
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8672542/viewspace-895317/ ,如需转载,请注明出处,否则将追究法律责任。