`
liyanhui
  • 浏览: 352840 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat中文手册

    博客分类:
  • java
阅读更多

本文档提供关于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容器是J
avaWebServer的一个部分. 独立的servlet容器是Tomcat的默认模式.
大多数的web服务器并非基于Java,因此,我们可以得出如下两种容器的模式.
进程内的servlet容器
servlet容器作为web服务器的插件和Java容器的实现.Web服务器插件在内部地址空间打
开一个JVM(java virtual machine)使Java容器得以在内部运行.如有某个需要调用serv
let的请求,,插件将取得对此请求的控制并将他传递(使用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.ht
ml处.
解压缩此文件到某目录(如:foo).将会生成一子目录,名为”tomcat”.
转换到”tomcat”目录设置一新的环境变量(TOMCAT_HOME)指向你安装的tomcat的目录
WIN32平台,键入:
“set TOMCAT_HOME=foo\tomcat”
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:bin\startup
关闭:
unix:bin/shutdown.sh
win32:bin\shutdown
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
你可以创建此目录来添加一些附加的类到类路径中.任何你加到此目录中的类都可在Tom
cat的类路径中找到自身.
Tomcat的脚本
Tomcat是一个Java程序,因此在设置好几个环境变量后即可用命令行的方式运行.然而设
置Tomcat使用的每个环境变量和如下的命令行参数乏味且易错.因此,Tomcat开发组提供
了一些脚本使启动和关闭Tomcat变得轻松.
注意:这些脚本仅仅是个便利的方法去启动和关闭Tomcat.你可修改他们来定制CLASSPAT
H,环境变量如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.sta
rtup.Tomcat ,例如:
执行start/stop/run 等的操作
此Tomcat进程使用指向server.xml的路径,
例如server.xml放置于etc/server_1.xml并且用户意图在后台启动apache,键 入如下命
令行:
bin/tomcat.sh start –f /etc/server_1.xml
在Win32下的步骤:(略)
由此可见,win32版的tomcat.bat与Unix版的几乎一致.尤其在它不推测TOMCAT_HOME和JA
VA_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通过实例化组件完成起动及构建自身, 如在serv
er.xml所指定的
下表描述server.xml种的重要元素:
元素及其描述
Server
server.xml文件中最重要的元素.Server定义了一个Tomcat服务器.一般你不用对他担心
太多.Server元素能包含Logger和ContextManager元素类型
Logger
此元素定义一个Logger对象,每个Logger都有一个名字去标识,也有一个纪录Logger的输
出和冗余级别(描述此日志级别)和包含日志文件的路径.通常有servlet的Logger(Servl
etContext.log()处),JSP和Tomcat运行时的Logger.
ContextManager
ContextManager说明一套ContextInterceptor, RequestInterceptor , Context和他们
的Connectors的配置及结构.ContextManager有几个随同提供的特性:
1. 用来纪录调试信息的调试级别
2. webapps/,conf/,logs/和所有已定义的环境的基本位置.用来使Tomcat可以在TOMCAT
_HOME外的其他目录启动.
3. 工作目录的名字
ContextInterceptor&RequestInterceptor
这些侦听器(interceptors)侦听具体发生在ContextManager中的事件.例如,ContextInt
erceptor侦听Tomcat的启动及终止事件,RequestInterceptor监视在它服务过程中用户请
求需要通过的不同阶段.Tomcat的管理员不必知道太多关于侦听器的知识;另外,开发者应
该知道这是如何在Tomcat中实现一个”全局”型的操作(例如安全性及每个请求日志)
Connector
Connector表示一个到用户的联接,不管是通过web服务器或直接到用户浏览器(在一个独
立配置中).Connector负责管理Tomcat的工作线程和 读/写 连接到不同用户的端口的 请
求/响应.Connector的配置包含如下信息:
1.句柄类
2.句柄监听的TCP/IP端口
3.句柄服务器端口的TCP/IP的backlog.
稍后我们将在此文档中描述如何配置Connector.
Context
每个Context提供一个指向你放置你Web项目的Tomcat的下属目录。每个Context包含如下
配置:
1. Context放置的路径,可以是与ContextManager主目录相关的路径.
2.纪录调试信息的调试级别
3.可重载的标志.开发Servlet时,重载更改后的Servlet,这是一个非常便利的特性,你可
以调试或用Tomcat测试新代码而不用停止或重新启动Tomcat.要打开重载,把reloadable
设为真即可.这虽花费时间但可检测所发生的变化;更重要的事,鉴于,在一个装载类对象
装入一个新的servlet时,类装载触发器可能会掷出一些错误.为避免这些问题,你可以设
置可重载为假,这将停止重载功能.
 
从另一个目录中启动Tomcat
作为缺省值将使用TOMCAT_HOME/conf/server.xml作为配置文件.缺省配置将使用TOMCT_
HOME作为关系环境的基础.
使用 “-f/你的/目录/server.xml”选项你可改变这种情况,使用另一个服务器配置文件
和设置关系环境管理器的目录属性你需要在主目录内设置以下几个文件:
? 一个 webapps/目录(如果你已生成) – 所有war文件奖杯界压倒此目录而且所有子目
录将作为关系环境添加.
? conf/目录 - 你可保存一个特殊的web.xml文件和其他配置文件
? logs/ - 所有日志文件将代替TOMCAT_HOME/logs/纪录到此目录中
? work/ - 关系环境的工作目录
如server.xml中的ContextManager.home属性有关联,将关联到到当前工作目录.
web。xml
关于web。xml和web项目结构(包括目录服务及配置)的详细描述可在Servlet API Spe
c的第9,10,14章中找到。
然而有一个与Tomcat有关的小“特性“与web.xml有关。Tomcat可以让用户通过将缺省的
web.xml放入conf目录中来定义所有关系环境的web.xml的缺省值.建立一个新的关系环境
时,Tomcat使用缺省的web.xml文件作为基本设置和应用项目特定的web.xml(放在应用项
目的WEB-INF/web.xml文件)来覆盖这些缺省值.
设置Tomcat与Apache Web 服务器
服务器
到现在为止,我们未讨论作为服务器扩展的Tomcat,只讨论了作为独立运行的服务器.但有
一些问题需要说明:
1. 当处理静态页面时,Tomcat不如Apache迅速.
2. Tomcat不象Apache一样可配置.
3. Tomcat不象Apache一样强壮.
4. 有很多网站已在某一特定web server上投入了很长时间,例如,使用CGI脚本/Server  
API模组/perl/php…我们不能假设这些遗留下来的东西都会被丢弃.
基于以上原因,一个现实的网站建议使用一个Web服务器,如Apache,为网站的静态页面请
求提供服务,并使用Tomcat作为一个Servlet/JSP插件.
我们不准备深入的讨论每个不同的配置,我们将:
1. 涵盖Web服务器的基本行为
2. 解释需要何种配置
3. 在Apache上的实例
Web 服务器操作
简单说来,web服务器总是等待来自客户端的HTTP请求。当请求到达时,服务器会提供一
切必要的内容来满足此请求。加入一个Servlet容器某种程度上会改变此行为。但服务器
仍需处理如下因素:
载入servlet容器接口库并初始化(处理请求之前)。
当收到一个请求时,检查是否属于某Servlet,如是,则接口库接收此请求并处理。
另一方面,接口库需要知道他将服务某种请求,通常是基于请求的URL的某种模式和将此
请求导向何处。
当用户想要设置使用虚拟主机的配置时,事情会变得更加复杂,或者想多个开发者在一
个服务器上进行开发但使用不同的Servlet容器的JVMs。以下我们将讨论这两个问题。
必需进行的配置
应该考虑的是最明显的配置是servlet URL具有对servlet容器中的servlet具有表示的责
任。很明显,你必须知道传递什么到Servlet容器。我们仍需提供附加的配置项目到web
-server或servlet-container的结合体中.
l 考虑到Tomcat进程是否可取得,我们仍需提供配置和Tomcat正在监听的TCP/IP 主机名
/端口号。
l 需要告知web服务器接口库的位置(因此我们可以在起始时装入)
l 需要设置接口内部信息如将日志记录在何处和如何纪录,等等。
所有此类信息必须出现在web服务器配置里或被接口使用的私有配置文件中。下面将讲述
如何在Apache中如何实现这些配置。
 
Apache上的实现
这一部分演示如何配置Apache与Tomcat一起工作;并试图解释深入到可能会用到的配置
规范。在jserv 安装页上可找到其他信息。

分享到:
评论

相关推荐

    tomcat中文手册

    ### Tomcat中文手册知识点概述 #### 一、Tomcat简介及功能 - **定义**: Tomcat是一款免费开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它支持最新的Servlet API规范,同时也是一个简单的Web...

    tomcat 中文手册chm版

    简介- 关于Apache Tomcat的 简短,高层位概貌。 安装 - 怎样在一系列不同的平台上 安装和运行Apache Tomcat 。 简单网络应用- 简单 介绍Servlet 2.3 规则里制定的关于网络应用的概念。覆盖面包括基本的网络应用 的...

    tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册

    tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文手册tomcat5.5中文...

    电力系统中基于MATLAB的价格型需求响应与电价弹性矩阵优化

    内容概要:本文详细介绍了如何利用MATLAB进行价格型需求响应的研究,特别是电价弹性矩阵的构建与优化。文章首先解释了电价弹性矩阵的概念及其重要性,接着展示了如何通过MATLAB代码实现弹性矩阵的初始化、负荷变化量的计算以及优化方法。文中还讨论了如何通过非线性约束和目标函数最小化峰谷差,确保用户用电舒适度的同时实现负荷的有效调节。此外,文章提供了具体的代码实例,包括原始负荷曲线与优化后负荷曲线的对比图,以及基于历史数据的参数优化方法。 适合人群:从事电力系统优化、能源管理及相关领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解并掌握价格型需求响应机制的专业人士,旨在帮助他们更好地理解和应用电价弹性矩阵,优化电力系统的负荷分布,提高能源利用效率。 其他说明:文章强调了实际应用中的注意事项,如弹性矩阵的动态校准和用户价格敏感度的滞后效应,提供了实用的技术细节和实践经验。

    一级医院医疗信息管理系统安装调试技术服务合同20240801.pdf

    一级医院医疗信息管理系统安装调试技术服务合同20240801.pdf

    表5 文献综述.doc

    表5 文献综述.doc

    36W低压输入正激电源, 正激变压器设计方法步骤及谐振电感的设计方法,主要讲诉了正激电源变压器测的输入输出参数,按输入的条件设计相关的变压器的参数,同时将输出电感的设计方法一并例出,详细的设计步骤

    36W低压输入正激电源 变压器电感设计

    基于YOLOv8的深度学习课堂行为检测系统源码(含检测图片和视频)

    基于YOLOv8的深度学习课堂行为检测系统源码,软件开发环境python3.9,系统界面开发pyqt5。在使用前安装python3.9,并安装软件所需的依赖库,直接运行MainProgram.py文件即可打开程序。模型训练时,将train,val数据集的绝对路径改为自己项目数据集的绝对路径,运行train.py文件即可开始进行模型训练,内含项目文件说明,以及检测图片和视频。

    odbc-oracle zabbix模版原版

    odbc_oracle zabbix模版原版

    基于纳什谈判理论的风光氢多主体能源系统合作运行方法——综合能源交易与优化模型

    内容概要:本文探讨了利用纳什谈判理论来优化风光氢多主体能源系统的合作运行方法。通过MATLAB代码实现了一个复杂的优化模型,解决了风电、光伏和氢能之间的合作问题。文中详细介绍了ADMM(交替方向乘子法)框架的应用,包括联盟效益最大化和收益分配谈判两个子任务。此外,还涉及了加权残差计算、目标函数构造、可视化工具以及多种博弈模式的对比等功能模块。实验结果显示,合作模式下系统总成本显著降低,氢能利用率大幅提升。 适合人群:从事能源系统研究的专业人士、对博弈论及其应用感兴趣的学者和技术人员。 使用场景及目标:适用于需要优化多主体能源系统合作运行的场合,如工业园区、电网公司等。主要目标是提高能源利用效率,降低成本,增强系统的灵活性和稳定性。 其他说明:代码中包含了丰富的可视化工具,能够帮助研究人员更好地理解和展示谈判过程及结果。同时,提供了多种博弈模式的对比功能,便于进行性能评估和方案选择。

    C#与Halcon联合编程实现高效视觉几何定位与测量框架

    内容概要:本文详细介绍了如何利用C#与Halcon联合编程构建高效的视觉几何定位与测量框架。主要内容涵盖模板创建与匹配、圆测量、数据持久化以及图像采集等方面的技术细节。首先,通过创建形状模板并进行匹配,实现了工件的精确定位。接着,针对圆形物体的测量,提出了动态ROI绘制、亚像素边缘提取和稳健圆拟合的方法。此外,还讨论了模板管理和图像采集的最佳实践,确保系统的稳定性和高效性。最后,强调了Halcon对象的内存管理和错误处理机制,提供了实用的优化建议。 适合人群:具备一定编程基础,尤其是对C#和Halcon有一定了解的研发人员和技术爱好者。 使用场景及目标:适用于工业生产线上的自动化检测设备开发,旨在提高工件定位和尺寸测量的精度与效率。主要目标是帮助开发者掌握C#与Halcon联合编程的具体实现方法,从而构建稳定可靠的视觉检测系统。 其他说明:文中提供了大量实战代码片段和调试技巧,有助于读者快速理解和应用相关技术。同时,作者分享了许多实际项目中的经验和教训,使读者能够避开常见陷阱,提升开发效率。

    QT6 C++视频播放器实现(基于QGraphicsVideo)

    QT视频播放器实现(基于QGraphicsView)

    评估管线钢环焊缝质量及其对氢脆的敏感性.pptx

    评估管线钢环焊缝质量及其对氢脆的敏感性.pptx

    机器学习(预测模型):专注于 2024 年出现的漏洞(CVE)信息数据集

    该是一个在 Kaggle 上发布的数据集,专注于 2024 年出现的漏洞(CVE)信息。以下是关于该数据集的详细介绍:该数据集收集了 2024 年记录在案的各类漏洞信息,涵盖了漏洞的利用方式(Exploits)、通用漏洞评分系统(CVSS)评分以及受影响的操作系统(OS)。通过整合这些信息,研究人员和安全专家可以全面了解每个漏洞的潜在威胁、影响范围以及可能的攻击途径。数据主要来源于权威的漏洞信息平台,如美国国家漏洞数据库(NVD)等。这些数据经过整理和筛选后被纳入数据集,确保了信息的准确性和可靠性。数据集特点:全面性:涵盖了多种操作系统(如 Windows、Linux、Android 等)的漏洞信息,反映了不同平台的安全状况。实用性:CVSS 评分提供了漏洞严重程度的量化指标,帮助用户快速评估漏洞的优先级。同时,漏洞利用信息(Exploits)为安全研究人员提供了攻击者可能的攻击手段,有助于提前制定防御策略。时效性:专注于 2024 年的漏洞数据,反映了当前网络安全领域面临的新挑战和新趋势。该数据集可用于多种研究和实践场景: 安全研究:研究人员可以利用该数据集分析漏洞的分布规律、攻击趋势以及不同操作系统之间的安全差异,为网络安全防护提供理论支持。 机器学习与数据分析:数据集中的结构化信息适合用于机器学习模型的训练,例如预测漏洞的 CVSS 评分、识别潜在的高危漏洞等。 企业安全评估:企业安全团队可以参考该数据集中的漏洞信息,结合自身系统的实际情况,进行安全评估和漏洞修复计划的制定。

    QML Combobox 自动过滤,输入字符串后自动匹配

    博客主页:https://blog.csdn.net/luoyayun361 QML ComboBox控件,输入关键字后自动过滤包含关键字的列表,方便快速查找列表项

    【人工智能领域】人工智能技术发展历程、核心原理及应用指南:涵盖机器学习、深度学习、NLP和计算机视觉的全面介绍

    内容概要:本文全面介绍了人工智能技术的发展历程、核心技术原理、应用方法及其未来趋势。首先阐述了人工智能的定义和核心目标,随后按时间顺序回顾了其从萌芽到爆发的五个发展阶段。接着详细讲解了机器学习、深度学习、自然语言处理和计算机视觉等核心技术原理,并介绍了使用现成AI服务和开发自定义AI模型的应用方法。此外,还展示了智能客服系统、图像分类应用和智能推荐系统的具体实现案例。针对普通用户,提供了使用大模型的指南和提问技巧,强调了隐私保护、信息验证等注意事项。最后展望了多模态AI、可解释AI等未来发展方向,并推荐了相关学习资源。; 适合人群:对人工智能感兴趣的初学者、技术人员以及希望了解AI技术应用的普通大众。; 使用场景及目标:①帮助初学者快速了解AI的基本概念和发展脉络;②为技术人员提供核心技术原理和应用方法的参考;③指导普通用户如何有效地使用大模型进行日常查询和任务处理。; 其他说明:本文不仅涵盖了AI技术的基础知识,还提供了丰富的实际应用案例和实用技巧,旨在帮助读者全面理解人工智能技术,并能在实际工作中加以应用。同时提醒读者关注AI伦理和版权问题,确保安全合法地使用AI工具。

    本学习由 Matrix 工作室制作并开发,包括算法与数据结构的学习路线和各种题解

    本学习由 Matrix 工作室制作并开发,包括算法与数据结构的学习路线和各种题解。

    基于智慧图书馆基础业务流程Axure11高保真原型设计

    本项目致力于构建基于微服务架构的智慧图书馆管理平台,重点突破多校区图书馆异构系统间的数据壁垒。通过建立统一数据治理规范、部署智能分析模块、重构业务流程引擎,系统性实现以下建设目标:构建跨馆业务数据的标准化整合通道,实施容器化部署的弹性资源管理体系,开发具备机器学习能力的业务辅助决策系统,打造可量化评估的管理效能提升模型,最终形成支持PB级数据处理的分布式存储体系与全维度数据资产图谱。

    mysql中慢sql分析

    根据processlist查询出慢sql 1.修改配置文件中的mysql链接 2.目前是15秒执行一次获取执行时间在5秒上的sql,可以在配置中修改 3.执行后查出的慢sql会记录到log文件夹中以日期命名的txt文件中,可自行查验

Global site tag (gtag.js) - Google Analytics