中英互译:terminology:术语。term:词。
context指一个web application。
tomcat的主配置文件是/conf/server.xml。所有配置文件只在tomcat启动时启动,若要使启动后的配置文件生效,需要重启tomcat。
在运行tomcat前,请确保系统已经配置好JAVA_HOME和CATALINA_HOME变量。
tomcat7运行在jdk6下。
全局(所有) context共享的lib可以放到$Catalina_home/lib下,例如jdbc驱动。
$context/META-INF/context.xml文件可以用来定义tomcat的一些特殊配置。
通过复制app文件夹或app.war到$Catalina_Home/webapps/下的方法,可以让tomcat自动加载该app。该app的context path为app的文件名。
通过$catalina_home/webapps/Manager应用可以在运行时动态布置app。
context代表一个app。早期的tomcat把context的配置放在$catalina_home/conf/server.xml下。虽然现在也可以这样,但不建议。context应该在以的其中一个地方配置$catalina_home/conf/[enginename]/[hostname]/context.xml。$catalina_home/webapps/[webappname]/META-INF/context.xml。
如果不为应用配置context.xml文件,tomcat会使用默认的值配置这个context。
默认情况下,tomcat启动时会先启动有context.xml的应用,然后再布置没有context.xml文件的应用,最后会解压.war文件(旧的被解压的.war目录会被删除)。
如果Host节点设置了autoDeploy属性为true,即tomcat后台线程会动态检测应用的改变实现动态布置。移入新的war文件、加入新的app、更改/web-inf/web.xml文件、更改对应和context.xml文件都会使tomcat重新加载该应用。
/manager模块可以实现应用的动态部署、删除、重新加载、列举在线应用等功能。另外也可以查看session的状况。
在/catalina_home/conf/tomcat-users.xml中可以配置/manager模块的用户。
realm是一个放置用户名和密码的集合。你可以实现自已的jdbc/datasource/等类形的realm。默认采用/catalina_home/conf/tomcat-users.xml中的realm。realm可以设置在engine/host/context下,在不同的地方设置,作用域也不同。
tomcat7的classloader各个app拥用自已的classloader,上一层是common,然后是system、bootstrap。
bootstrap装载的是jre及jre/lib/ext下的类。system装载的是$catalina_home/bin/bootstrap.jar和juli.jar里的类。common装载的是$catalina_home/lib下的类。app装载的是web/lib和class下的类。
类加载体系加载类的顺序为jvm/systemclass loader、web-inf/classes、web-inf/lib/*.jar、$catalina_home/lib。
有一个默认的servlet,配置文件在$catalina_base/conf/web.xml下。作用是列举目录。这个配置文件还为一些文件配置了doctype及欢仰文件。
在server.xml的engine节点下可以配置多个不同的virtual host,不同的host可以设置不同的appBase(webapps目录)。需要注意的是context节点的docbase不能为任何一个appbase相同。而ROOT的文件夹名应用为根应用。
tomcat7的架构。最外层的是Server。Server代表整个容器。下一层是Service,Service是Server下的一个中间组件。再下一层是Engine。Engine是处理请求与响应的管道。再下一层是Host,一个Engine可以有多个Host,而一个Host可以有一个网洛名及多个别名。再下一层是Context。一个Host下可以有多个Context。每个Context代表一个应用。Connector在Service之下,与Engine并排。Connector处理与用户的交互,它包含http connector/ajp connector等。简单一点就是:Server-Service-(Conector)/(Engine-Host-Context)。
$Catalina_home/conf/server.xml的配置说明如下:
Server节点中的address属性用于设置可发出关闭命令的地址,默认为localhost。port为接收关闭命令的端口,设置为-1可以关闭该功能,同时让shutdown.bat失效。
Service下可以配置executor节点,其中属性maxThreads用于设置最大线程池的大小,默认为200,minSpareThreads用于设置最小闲置线程,默认为25。maxIdleTime用于设置线程被关闭前的时间,默认为一分钟。Service下配置executor节点是全局共享下。另外也可以为每个connector配置单独的线程词。
http connector中的maxPostSize用于设置最大post表单url大小,默认为2m,port用于设置请求端口,protocol用于设置协议,URIEncoding用于设置URL编码,,默认为iso-8859-1。acceptCount用于设置最大的请求队列,默认为100,超出该出求队列的请求将会被拒绝。address用于在一台机多个IP情况下只处理一部份IP的情况。默认情况下处理所有的IP。disableUploadTimeout用于设置是否在上传文件时延长超时,默认为ture,executor用于设置该connector所有的executo,如果设置了,即executor的参数将复盖该connector的参数。keepalivetimeout用于设置关闭一个connection前等待另一个请求的时间。maxHttpHeaderSize用于设置最大的http报头,默认为8k,maxThreads用于设置最大的链接线程数。
context可以定义在$home/conf/server.xml中,但不建议这样做。另外可以定义在$home/conf/Context.xml中。也可以定义在$home/conf/[enginename]/[hostname]/context.xml或者$home/conf/[enginename]/[hostname]/[contextname].xml
Context中的一些重要属性:docBase用行设置应用的目录。path用于设置上下文路径。reloadable用于设置是否在运行时监测class/lib目录的改变并重新另载。
可以在Context元素下增加一个<Value className/prefix/suffix/pattern来设置日志。
在web.xml中设置<context-param><param-name><param-value>和在context元素中设置<Parameter name是一样的效果。
可以在context元素中增加元素<value className/allow/deny来限制IP。
Engine节点中也可以设置Value元素限制IP。
Host节点的元素意义如下:appBase用于设置默认的webapp目录,放到该目录下的所有app都会被加载。xmlBase用于设置加载context.xml文件的路径。autoDeploy用于设置在运行时是否自动检查有新的应用被布置。deployOnStartup用于设置是否在tomcat启动时自动加载应用。name用于设置host的域名。
在Host节点下也可以增加Value节点用于设置log的位置和命名。
在host下可以设置多个<alias节点,用于设置多个域名。
Host同样可以通过Value设置过虑IP。
分享到:
相关推荐
【Tomcat 学习精华笔记】 Tomcat 是一个广泛应用的开源服务器,主要用于托管Java Web应用程序。它虽然不是严格意义上的应用服务器,但作为一个Servlet容器,它能够处理Servlet和JSP,并且具备了一些应用服务器的...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
- **Tomcat配置文档**:`tomcat配置.doc`可能包含了更详细的Tomcat配置信息,如虚拟主机设置、session配置、错误页面处理等,这些都是运行和管理Tomcat服务器时需要了解的关键知识点。 总之,理解并正确配置Tomcat...
1. 在MyEclipse中关联Tomcat:通过`Window -> Preferences`,搜索Tomcat并启用。 2. 发布Web工程到Tomcat。 3. 运行Web应用。 **JSP文件结构**: JSP文件可以包含静态HTML、CSS、JavaScript,以及内嵌的Java代码...
Java学习笔记涵盖了从基础到进阶的多个知识点,主要集中在Java开发环境的搭建、文档查阅、应用服务器的使用以及Java应用程序的运行环境。首先,Java Development Kit (JDK)是学习Java编程的基础,由Sun Microsystems...
根据给定的文件信息,以下是对“韩顺平2011最细servlet笔记1.doc”中的关键知识点的详细解读: ### J2EE技术演进 文档首先介绍了J2EE技术的演变过程,从Java基础发展至Servlet,再至JSP。这反映了企业级Java开发的...
AXIS学习笔记主要介绍了如何使用AXIS框架进行SOAP Web服务的开发和部署,适用于互联网环境。AXIS是一个开源的Java库,它允许开发者创建、部署和使用基于SOAP的Web服务。以下是AXIS学习的关键知识点: 1. **SOAP Web...
这个笔记是学习oracle数据库过程中整理出来的,比较详细,适合于初学者。 │ oracle与tomcat端口冲突.txt │ Oracle学习笔记.pdf │ Oracle学习笔记.wps ... 7上机.doc DEMOScript.sql T7.ppt 演示代码.sql
linux常用命令笔记 。文件与目录操作、查看文件内容、文本内容处理、查询操作、压缩、解压、yum安装器、网络相关、系统相关、XSheel 5相关操作、Tomcat、关机 (系统的关机、重启以及登出 ) 、linux 重启命令。抓包、...
Tomcat作为应用服务器,用于部署和运行SpringBoot应用。SpringBoot框架简化了Java应用的开发,提供了自动配置、内嵌Web服务器等功能,使得系统开发更为高效。 第三章需求分析部分,首先概括了需求分析的整体概念,...
Solr学习笔记 Solr 是一种基于 Lucene 的搜索服务器,可以满足企业对搜索解决方案的需求。它支持层面搜索、命中醒目显示和多种输出格式,易于安装和配置,並且附带了一个基于 HTTP 的管理界面。 Solr 的主要特点...
- "51CTO下载-韩顺平2011最细servlet笔记2.doc" 可能进一步探讨了Tomcat服务器的安装、配置与管理,包括端口号设置、虚拟主机配置、部署Web应用等。此外,可能还会讲解Cookie和Session的创建、存储、读取、过期策略...
- **中间件配置**:如Tomcat等应用服务器的配置,以及Nginx作为反向代理服务器的配置。 #### 3.2 监控与日志 - **监控工具**:使用如Prometheus等工具监控系统的运行状态。 - **日志管理**:通过ELK(Elasticsearch...
- **管理员设置**:在`Tomcat/conf/tomcat-users.xml`文件中配置用户角色。例如,添加管理员和项目经理的角色: ```xml <tomcat-users> </tomcat-users> ``` #### 四、JSP语法格式 - **表达式**:`...
**Tomcat服务器**:作为轻量级应用服务器,Tomcat支持Servlet和JSP标准,是Apache软件基金会的项目之一,免费且开源,适合中小型Web应用程序的部署。\n\n这些知识点构成了Web程序设计的基础,理解和掌握它们对于...
7. Web容器:也称为应用服务器,如Tomcat、Jetty等,它们负责加载、运行和管理Web应用程序。Web容器解析并执行JSP页面,调用相应的Servlet,并处理HTTP请求和响应。 8. AOP(Aspect Oriented Programming)面向切面...