服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

jakarta-tomcat 简明中文版用户指南


  本文档提供关于tomcat的基础信息。主要内容如下:
  
  tomcat二进制版本安装
  
  与tomcat相关的脚本的主要内容
  
  与server.xml相关的主要内容,tomcat的主要配置文件
  
  如何设置tomcat与宿主web服务器一起工作的说明
  
  如何应用tomcat配置一个现实中的web站点
  
  希望此文档足以使新用户可以开始使用tomcat.如找不到某方面的内容请(按以下顺序)
  
  查找tomcat faq
  
  查找tomcat包清单
  
  向tomcat用户邮件列表发出问题
  
  如此疑问的答案不存在,我们鼓励把对疑问的解答放入tomcat faq或此文档。如对此文档有意见或建议,请发送到tomcat的邮件列表。
  
  getting started
  
  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 omcat”
  
  unix平台:
  
  如是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项目示例
  
  此外你可以tomcat会创建如下目录:
  
  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 ?cf /etc/server_1.xml
  
  在win32下的步骤:(略)
  
  由此可见,win32版的tomcat.bat与unix版的几乎一致。尤其在它不推测tomcat_home和java_home的值,并且不将所有的jar文件放入类路径中。
  
  tomcat的配置文件
  
  tomcat的配置基于两个配置文件:
  
  1.server.xml - tomcat的全局配置文件
  
  2.web.xml - 在tomcat中配置不同的关系环境
  
  这一部分将讲述如何使用这些文件。我们不会包含web.xml的内部机制,这些内部机制深入到了servlet api的细节,因此,我们将讨论涵盖servler.xml内容及web.xml在tomcat关系环境中的用法。
  
  server.xml
  
  server.xml是tomcat的主配置文件。完成两个目标:
  
  1 提供tomcat组件的初始配置。
  
  2 说明tomcat的结构,含义,使得tomcat通过实例化组件完成起动及构建自身, 如在server.xml所指定的
  
  下表描述server.xml种的重要元素:
  
  元素及其描述
  
  server server.xml文件中最重要的元素。server定义了一个tomcat服务器。一般你不用对他担心太多。server元素能包含logger和contextmanager元素类型
  
  logger此元素定义一个logger对象,每个logger都有一个名字去标识,也有一个纪录logger的输出和冗余级别(描述此日志级别)和包含日志文件的路径。通常有servlet的logger(servletcontext.log()处),jsp和tomcat运行时的logger.
  
  contextmanager
  
  contextmanager说明一套contextinterceptor, requestinterceptor , context和他们的connectors的配置及结构。contextmanager有几个随同提供的特性:
  
  1. 用来纪录调试信息的调试级别
  
  2. webapps/,conf/,logs/和所有已定义的环境的基本位置。用来使tomcat可以在tomcat_home外的其他目录启动。
  
  3. 工作目录的名字
  
  contextinterce

扫描关注微信公众号