- 浏览: 1414882 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (363)
- oracle (43)
- 缓存策略 (4)
- 数据库设计 (7)
- IntelliJ IDEA (8)
- freemarker (3)
- JSP (12)
- java基础 (75)
- tomcat (14)
- 服务器 (10)
- maven (3)
- linux (21)
- e-learning (2)
- 手机开发 (1)
- 设计模式 (6)
- 技术之外 (2)
- 工具的使用 (8)
- HTML 5 (5)
- 网站前台 (38)
- 网站后台 (11)
- 项目管理 (12)
- 面试题 (5)
- 幽默 (0)
- 系统架构 (8)
- 创业 (10)
- div-css (5)
- 诗词歌赋 (1)
- 网络课堂组知识库 (4)
- 杂家 (3)
- android (12)
- 框架 (14)
- 读书笔记 (1)
- 孙子兵法 (1)
- mysql (3)
- 小人书 (0)
- Jquery (6)
- eclipse (2)
- 正则表达式 (1)
最新评论
-
a98709474:
写的很详细,看完了,明白了这种概念了
数据库水平切分(拆库拆表)的实现原理解析(转) -
a98709474:
MYSQL分库分表总结 -
CatchU:
7年前的招聘要求,厉害厉害
面试要求 -
luozhixiong:
<table class="bbcode&qu ...
MYSQL分库分表总结 -
沈寅麟:
好用
freemarker格式化
Tomcat Server的结构图
conf/server.xml目录结构:
1.<Server>元素
它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个或多个<Service>元素.并且它不能做为任何元素的子元素.
<Server port="8005" shutdown="SHUTDOWN" debug="0">
1>className指定实现org.apache.catalina.Server接口的类.默认值为org.apache.catalina.core.StandardServer
2>port指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令.该属性是必须的.
3>shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须设置
测试:
telnet localhost 8005
输入:SHUTDOWN
结果:关闭tomcat
2. <Service>元素
该元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素
<Service name="Catalina">
<Service name="Apache">
第一个<Service>处理所有直接由Tomcat服务器接收的web客户请求.
第二个<Service>处理所有由Apahce服务器转发过来的Web客户请求 .
1>className 指定实现org.apahce.catalina.Service接口的类.默认为org.apahce.catalina.core.StandardService
2>name定义Service的名字
3. <Connector>元素
由Connector接口定义.<Connector>元素代表与客户程序实际交互的组件,它负责接收客户请求,以及向客户返回响应结果.
一个“Connector”(连接器)代表一个请求被接收和应答所需要的端点。每个连接器通过相关的“Container”(容器)处理请求。默认情况下,一个非SSL的HTTP/1.1的连接器被绑定在端口8080。你也可以通过根据后面的使用说明并取消第二个连接器入口的注释,在端口8443上建立一个SSL HTTP/1.1的连接器。
默认情况下,当一个web应用程序调用请求时,DNS查询是可行的。这将对性能造成一些不利的影响,因此,你可以将“enableLookups”设置为“false”来关闭DNS查询。当DNS查询被关闭时,request.getRemoteHost()将返回包含远程客户IP地址的字符串。
Coyote HTTP/1.1 Connector
className:
该Connector的实现类是org.apache.coyote.tomcat4.CoyoteConnector
port:
在端口号8080处侦听来自客户browser的HTTP1.1请求.如果把8080改成80,则只要输入 http://localhost/即可
protocol:
设定Http协议,默认值为HTTP/1.1
minSpareThreads:
该Connector先创建5个线程等待客户请求,每个请求由一个线程负责
maxSpareThread:
设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为200
acceptCount:
当现有线程已经达到最大数时,为客户请求排队.当队列中请求数超过设定值时,后来的请求返回Connection refused错误
redirectport:
当客户请求是https时,把该请求转发到端口8443去
enableLookups:
如果设为true,表示支持域名解析,可以把IP地址解析为主机名.WEB应用中调用request.getRemoteHost方法返回客户机主机名.默认值为true
connectionTimeout:
定义建立客户连接超时的时间.如果为-1,表示不限制建立客户连接的时间
4.<Engine>元素
每个Service元素只能有一个Engine元素.处理在同一个<Service>中所有<Connector>元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.
<Engine name="Catalina" defaultHost="localhost" debug="0">
1>className
指定实现Engine接口的类,默认值为StandardEngine
2>defaultHost
指定处理客户的默认主机名,在<Engine>中的<Host>子元素中必须定义这一主机
3>name
定义Engine的名字
在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>
5. <Host>元素
它由Host接口定义.一个Engine元素可以包含多个<Host>元素.每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.
1> appBase :
指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对目录.如果没有此项,默认为<CATALINA_HOME>/webapps. 它将匹配请求和自己的Context的路径,并把请求转交给对应的Context来处理
2> autoDeploy:
如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用
3> unpackWARs:
如果此项设置为true,表示把WEB应用的WAR文件先展开为开放目录结构后再运行.如果设为false将直接运行为WAR文件
4> alias:
指定主机别名,可以指定多个别名
5> deployOnStartup:
如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用.如果Web应用中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context
6.<Context>元素
它由Context接口定义.是使用最频繁的元素.每个<Context元素代表了运行在虚拟主机上的单个Web应用.一个<Host>可以包含多个<Context>元素.
1> path
该Context的路径名是"",故该Context是该Host的默认Context
2> docBase :
该Context的根目录
3> reloadable:
如果这个属性设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用
4> useNaming:指定是否支持JNDI,默认值为了true
5> cookies指定是否通过Cookies来支持Session,默认值为true
Tomcat 的总体结构
Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住了 Tomcat 的“七寸”。
conf/server.xml目录结构:
<Server> <Listener /> <GlobaNamingResources> </GlobaNamingResources <Service> <Connector /> <Engine> <Logger /> <Realm /> <host> <Logger /> <Context /> </host> </Engine> </Service> </Server>
1.<Server>元素
它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个或多个<Service>元素.并且它不能做为任何元素的子元素.
<Server port="8005" shutdown="SHUTDOWN" debug="0">
1>className指定实现org.apache.catalina.Server接口的类.默认值为org.apache.catalina.core.StandardServer
2>port指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令.该属性是必须的.
3>shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须设置
测试:
telnet localhost 8005
输入:SHUTDOWN
结果:关闭tomcat
2. <Service>元素
该元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素
<Service name="Catalina">
<Service name="Apache">
第一个<Service>处理所有直接由Tomcat服务器接收的web客户请求.
第二个<Service>处理所有由Apahce服务器转发过来的Web客户请求 .
1>className 指定实现org.apahce.catalina.Service接口的类.默认为org.apahce.catalina.core.StandardService
2>name定义Service的名字
3. <Connector>元素
由Connector接口定义.<Connector>元素代表与客户程序实际交互的组件,它负责接收客户请求,以及向客户返回响应结果.
一个“Connector”(连接器)代表一个请求被接收和应答所需要的端点。每个连接器通过相关的“Container”(容器)处理请求。默认情况下,一个非SSL的HTTP/1.1的连接器被绑定在端口8080。你也可以通过根据后面的使用说明并取消第二个连接器入口的注释,在端口8443上建立一个SSL HTTP/1.1的连接器。
默认情况下,当一个web应用程序调用请求时,DNS查询是可行的。这将对性能造成一些不利的影响,因此,你可以将“enableLookups”设置为“false”来关闭DNS查询。当DNS查询被关闭时,request.getRemoteHost()将返回包含远程客户IP地址的字符串。
Coyote HTTP/1.1 Connector
className:
该Connector的实现类是org.apache.coyote.tomcat4.CoyoteConnector
port:
在端口号8080处侦听来自客户browser的HTTP1.1请求.如果把8080改成80,则只要输入 http://localhost/即可
protocol:
设定Http协议,默认值为HTTP/1.1
minSpareThreads:
该Connector先创建5个线程等待客户请求,每个请求由一个线程负责
maxSpareThread:
设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为200
acceptCount:
当现有线程已经达到最大数时,为客户请求排队.当队列中请求数超过设定值时,后来的请求返回Connection refused错误
redirectport:
当客户请求是https时,把该请求转发到端口8443去
enableLookups:
如果设为true,表示支持域名解析,可以把IP地址解析为主机名.WEB应用中调用request.getRemoteHost方法返回客户机主机名.默认值为true
connectionTimeout:
定义建立客户连接超时的时间.如果为-1,表示不限制建立客户连接的时间
4.<Engine>元素
每个Service元素只能有一个Engine元素.处理在同一个<Service>中所有<Connector>元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.
<Engine name="Catalina" defaultHost="localhost" debug="0">
1>className
指定实现Engine接口的类,默认值为StandardEngine
2>defaultHost
指定处理客户的默认主机名,在<Engine>中的<Host>子元素中必须定义这一主机
3>name
定义Engine的名字
在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>
5. <Host>元素
它由Host接口定义.一个Engine元素可以包含多个<Host>元素.每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.
1> appBase :
指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对目录.如果没有此项,默认为<CATALINA_HOME>/webapps. 它将匹配请求和自己的Context的路径,并把请求转交给对应的Context来处理
2> autoDeploy:
如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用
3> unpackWARs:
如果此项设置为true,表示把WEB应用的WAR文件先展开为开放目录结构后再运行.如果设为false将直接运行为WAR文件
4> alias:
指定主机别名,可以指定多个别名
5> deployOnStartup:
如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用.如果Web应用中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context
6.<Context>元素
它由Context接口定义.是使用最频繁的元素.每个<Context元素代表了运行在虚拟主机上的单个Web应用.一个<Host>可以包含多个<Context>元素.
<Host name="www.sohu.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="F:\myworkspace\app1\WebRoot" workDir="F:\myworkspace\app1\WebRoot\work" reloadable="true"> <Resource name="jdbc/erp" auth="Container" type="javax.sql.DataSource" maxActive="10000" maxIdle="3000" maxWait="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/app1?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&failOverReadOnly=false"/> </Context> </Host>
1> path
该Context的路径名是"",故该Context是该Host的默认Context
2> docBase :
该Context的根目录
3> reloadable:
如果这个属性设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用
4> useNaming:指定是否支持JNDI,默认值为了true
5> cookies指定是否通过Cookies来支持Session,默认值为true
Tomcat 的总体结构
Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住了 Tomcat 的“七寸”。
发表评论
-
tomcat mysql jndi 配置
2014-07-22 10:46 1043<Resource name="jdbc/te ... -
tomcat配置
2014-05-27 14:20 1006${tomcat}/conf/server.xml 删除掉所 ... -
JProfiler
2011-08-11 15:35 1733JProfiler 跟踪本地和远程的服务器程序,专注于三个性能 ... -
杂七杂八
2011-08-10 15:53 1056引用早就不用java,改成php或者python了,对于高压力 ... -
JConsole使用
2011-08-09 15:45 1170JConsole远程监控Tomcat服务器 为了解决内存 ... -
GC 日志分析
2011-08-08 17:37 18199打印gc log的详细信息 set JAVA_OPTS=-XX ... -
Tomcat生命周期管理
2011-08-03 13:20 1496Tomcat 包含多个很多个组件, Tomcat 内部使用一个 ... -
tomcat配置多个虚拟主机
2011-08-03 09:19 1192打开conf/server.xml,默认: 第1个虚拟主 ... -
tomcat6 优化
2011-08-02 11:53 25751.Java虚拟机调优 应该选择SUN的JVM,在满足项目 ... -
java.lang.OutOfMemoryError
2011-05-27 11:52 1442Java.lang.OutOfMemoryError是 ... -
tomcat 相关知识
2011-05-22 09:59 1083web.xml中load-on-startup标签的含义 ... -
使用 Java 实现 Comet 风格的 Web 应用
2011-05-04 17:44 1262理解 Comet 您可能已经 ... -
Tomcat访问日志分析工具
2010-03-29 20:10 17540http://www.blogjava.net/xmatthe ...
相关推荐
Apache Tomcat 是一款非常著名的开源 Servlet/JSP 容器。 Apache Tomcat 是一款非常著名的开源 Servlet/...让我们先来浏览一下 Tomcat 体系结构中的六个主要概念: Server Service Engine Host Connector Context
tomcat中server配置文件的结构,以及处理一个http请求的全过程
Tomcat背景.Tomcat目录.server.xml配置简介.web.xml配置简介
Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apache中,这样就更可以发挥在servlet中,非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。 一个现实的网站使用一个...
总体架构:1、面向组件架构2、基于JMX3、事件侦听tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server、Service、Connector等,并基于JMX管理这些组件,另外实现以上接口的组件也...
catalina结构图 1 tomcat的版本4和版本5 2 章节简介 2 第1章 一个简单的Web服务器 3 1.1 The Hypertext Transfer Protocol (HTTP) 3 1.2 HTTP Request 3 1.3 HTTP Response 4 1.4 Socket类 4 1.5 ServerSocket类 5 ...
requestProcess.pdf-Tomcat请求处理流程序列图(2014.10.28-2014.10.29) 架构/-Tomcat服务器的架构结构和设计(2014.10.29-2014.10.29) server.xml-Tomcat容器配置文件(2014.10.29-) config /-Tomcat配置引用...
本论坛开发环境:jdk1.5+Tomcat5.5.17+sql server2000+Windows xp 1、支持HTML内容编辑,支持网络贴图与附件上传等,支持多种版面风格. 2、论坛是树型框架结构支持二级类别,类别自已可以添加修改。 3、安全稳定,系统...
catalina结构图 1 tomcat的版本4和版本5 2 章节简介 2 第1章 一个简单的Web服务器 3 1.1 The Hypertext Transfer Protocol (HTTP) 3 1.2 HTTP Request 3 1.3 HTTP Response 4 1.4 Socket类 4 1.5 ServerSocket类 5 ...
一、源码特点 JSP健身网站系统 是一套... 2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为mysql5.0,使用java语言开发。 3、数据库文件名是jspfjianshen.sql,系统名称jianshen 4、系统首页地址:jianshen.jsp
本系统前台主要使用 JSP 作为开发语言,后台使用 SqlServer 作为数据库管理系统,开发环境是 MyEclipse,服务器采用 Tomcat,开发出的一个基于 Web 技术的 B/S 结构的电子健康档案管理系统。 管理员用户具有人员...
4.1 系统功能结构图 20 4.2功能模块设计 20 4.3软件结构图 23 4.4数据库设计 23 4.4.1数据库分析 23 4.4.2概念结构设计 24 4.4.3逻辑结构设计 27 4.4.4数据库表设计 28 5 系统实现 32 5.1系统实现环境
同时系统开发结合了大量的图表和图形,例如:系统分析时利用了组织结构图、业务流程图和数据流程图;系统设计时利用了E-R图、网络结构图和数据库表等,方便了系统的开发,也让人易于理解。本系统结合了C/S 和 B/S ...
36 5.8 图书交易网站的项目结构图 37 6 总结与展望 39 6.1 总结 39 6.2 展望 39 1 绪论 1.1 课题产生背景 计算机的出现给人类社会带来了第三次工业革命,计算机和计算机网络已经深入到了 各行各业,各个领域,随着...
(4) 如果是B/S结构程序,我的电脑—右键—属性—高级—环境变量—系统变量—新建,变量名:TOMCAT_HOME ,注意为大写,变量值:你所安装jakarta-tomcat-5.0.28的根目录,如:E:\jakarta-tomcat-5.0.28;...
2.2 SQL Server 2000数据库介绍 …12 2.2.1 SQL简介12 2.2.2 SQL数据库体系结构13 2.2.3 SQL的组成 …14 2.3 B/S结构数据库系统 14 第三章 物流中心仓储信息管理系统设计 15 3.1系统设计特点 15 3.2系统...
目 录 I 摘 要 I ABSTRACT II 第1章 问题定义 1 1.1 引言 1 1.2开发背景 1 1.3问题描述 1 第2章 可行性分析 3 2.1 引言 3 ...4.3 总体结构图 14 4.4 本人主要工作任务 15 第5章 详细设计 16 5.1 引言 16 ..
使用Navicat工具新建数据库“hotel2”,并导入“src/main/resources/hotel2-structure-only.sql”以创建表结构。 在Eclipse菜单中执行“File | Import”,然后在弹出的对话框中选择“Maven | Existing Maven ...