java认证:tomcat深入内部结构描述Java认证考试

文章作者 100test 发表时间 2009:04:30 06:30:17
来源 100Test.Com百考试题网


  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应用访问。
  更多优质资料尽在百考试题论坛 百考试题在线题库 java认证更多详细资料

相关文章


java认证:简单理解Java中的输出流异常Java认证考试
java认证:高可移植性J2ME软件开发笔记Java认证考试
java认证:Java学习如何走出第一步Java认证考试
教你用servlet将jsp文件内容转为htmlJava认证考试
java认证:tomcat深入内部结构描述Java认证考试
java认证辅导:使用Java命名惯例Java认证考试
如何从JavaFX应用程序进入RESTful网络服务Java认证考试
详解如何让MyEclipse具有强大的提示功能Java认证考试
java认证:在Java中创建PDF(iTextJAR)Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛