网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.使用Ant进行增量快速构建实现.
.让POI架起Java与Office之间的桥梁.
.Java教室: Garbage Collection 清.
.Web应用中Java的速度真相探讨.
.修正Java中wait方法超时语意模糊.
.一篇不错的介绍Java Socket编程的.
.当前Java软件开发中几种认识误区.
.Java平台I18N 支持概述.
.Shark api 应用:获得子流程(sub.
.转scjp第一站的首页内容.
.无提示信息禁止鼠标右键的脚本.
.RMI在企业分布式计算中的应用.
.Java线程模型缺陷研究.
.DB2 J2EE开发成本收益分析(三).
.Eclipse快速上手指南之使用CVS.
.Java网络编程之URI、URL研究(下.
.Eclipse插件开发快速入门.
.J2EE层次设计架构实例的分析详解.
.关于继承和接口的一个非常有趣的.
.Java数据结构——基于数组的表.

tomcat深入??内部结构描述

发表日期:2008-1-5


  tomcat服务器是一种Servlet/jsp容器,更实质性的说是Servlet容器,因为jsp最终还是被编译成servlet来执行的。而对于servlet来说,其最长见的用途是扩展Java web服务器功能,为来自web客户的请求提供服务。它完全运行在java虚拟机上。
由于它的运行在服务器端,因此他的运行不依靠于浏览器。

   tomcat作为servlet容器,负责处理客户请求,把请求传给servlet并把结果返回给客户。servlet容器与servlet之间的接口是由java servlet api定义的,在此api中定义了servlet的各种方法,这些方法在servlet生命周期的不容阶段被servlet容器调用,servlet api还定义了servlet容器传递给servlet的对象类,如请求对象ServletRequest和相应对象ServletResponse

   tomcat服务器是由一系列可配置的组件构成,其中核心组件是Catalina Servlet容器,它是所有其他tomcat组件的顶层容器。tomcat的组件可以在conf/server.XML文件当中进行配置,每个tomcat组件在server.xml文件中进行配置,每个tomcat组件在server.xml文件中对应一种配置元素。具体见下:
<server>
<service>

<Connector>
</Connector>

<Engine>
<Host>
<Context></Context>
</Host>
</Engine>

</service>
</server>

1.顶层类元素:
<Server>和<Service>,他们位于整个配置文件的顶层
<Server>元素代表整个Catalina Servlet容器,它是tomcat实例的顶层元素。<Server>元素当中可包含一个或多个<service>元素。
<service>元素中包含一个<Engine>元素,以及一个或多个<Connector>元素,这些<Connector>元素共享同一个<Engine>元素

2.连接器类元素:
connector,它代表了介于客户与服务器之间的通信接口,负责将客户的请求发送给服务器,并将服务器的相应结果传递给客户。
3.容器类元素
<Engine>,<Host>和<context〉
其中<Engine>组件处理在同一个<service>中所有<Connector>元素接受到的客户请求
<Host>组件为特定的虚拟机处理所有客户请求。每个<Host>元素定义了一个虚拟主机,它可以包含一个或多个web应用。
<context>组件为特定的web应用处理所有客户请求。它是使用最频繁的元素。每个<Context>元素代表了运行在虚拟机上的单个web应用,一个<Host>元素中可以包含多个<context>元素
说到<context>元素,java web应用的主要特征之一就是它与Context的关系,每个web应用有唯一的Context。当java web应用运行时,Servlet容器为每个web应用创建唯一的ServletContext对象,它被整个web应用中所有的组件共享。
如下代码:
 <Context path="/reglog" docBase="reglog" debug="0" 
         crosscontext="true" reloadable="true">
 </Context>
你可以自己在server.xml当中定义一个context元素,设定你所存在项目的参数及属性。其中path指定访问web应用的url入口
docBase指定web应用的文件路径,可以给定绝对路径,也可以给定向对于host的appBase属性的相对路径
reloadable,假如这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,假如监测到有class文件被更新,服务器会自动重新加载web应用。

另外说一下tomcat的运行脚本
假如仔细研究一下tomcat的启动和关闭脚本,会发现startup.bat和shutdown.bat都执行同一个目录下的catalina.bat脚本。其实质是这样的:执行startup.bat脚本,相当于执行了catalina start命令,执行shutdown.bat相当于执行了catalina stop命令。

common\lib,server\lib,shared\lib这三个目录相信大家都见过吧,但具体是干什么用的呢?
其中server\lib下的jar文件只能被tomcat服务器访问。
shared\lib下的jar文件可以被所有的web应用访问,但不能被tomcat服务器访问。
common\lib目录下的jar文件可以被tomcat服务器和所有的web应用访问进入讨论组讨论。
上一篇:OJB中的多条件查询 人气:694
下一篇:java.lang包概述(可以当作学习索引) 人气:1808
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐