tomcat servlet 之间本关系.docx

上传人:牧羊曲112 文档编号:3167029 上传时间:2023-03-11 格式:DOCX 页数:13 大小:43.36KB
返回 下载 相关 举报
tomcat servlet 之间本关系.docx_第1页
第1页 / 共13页
tomcat servlet 之间本关系.docx_第2页
第2页 / 共13页
tomcat servlet 之间本关系.docx_第3页
第3页 / 共13页
tomcat servlet 之间本关系.docx_第4页
第4页 / 共13页
tomcat servlet 之间本关系.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《tomcat servlet 之间本关系.docx》由会员分享,可在线阅读,更多相关《tomcat servlet 之间本关系.docx(13页珍藏版)》请在三一办公上搜索。

1、tomcat servlet 之间本关系Tomcat 简介 Tomcat服务器是一个免费的开放源代码的Web应用服务器,是一个JSP/Servlet容器。它是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。 目前正在开发的最新版本为Apache Tomcat 7.x,它在6.0.x的基础上进行了改进,支持Servlet 3.0,JSP 2.2和EL 2.2规范。 Tomcat的用途及特点 Tomcat既是一个Servlet容器,又是一个

2、独立运行的服务器,像IIS、Apache等Web服务器一样,具有处理HTML页面的功能。但它处理静态HTML文件的能力并不是太强,所以一般都是把它当作JSP/Servlet引擎,通过适配器与其他Web服务器软件配合使用。此外,Tomcat还可与其他一些软件集成起来实现更多功能,例如,与JBoss集成起来开发EJB、与OpenJMS集成起来开发JMS应用、与Cocoon集成起来开发基于XML的应用等。 与传统桌面应用程序不同,Tomcat中的应用程序是一个WAR文件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目录中的文件也具有不同的功能。部署应用程序时,只需要把WAR文

3、件放到Tomcat的webapp目录下,Tomcat会自动检测和解压该文件。JSP文件第一次执行时,要先由Tomcat将其转化为Servlet文件,然后编译,所以速度会慢一些,但后继执行时速度会很快。 Tomcat特点: 小型的轻量级应用服务器 运行时占用系统资源小 扩展性好 支持负载平衡与邮件服务等开发应用系统中的常用功能,并且不断改进和完善。 Tomcat适用于中小型系统和并发访问用户不太多的场合,是开发和调试JSP程序的首选。先进的技术、稳定的性能、源码开放和免费获取的机制,使得Tomcat深受Java爱好者的喜爱并得到了许多软件开发商的认可,成为目前相当流行的Web应用服务器。 相关概

4、念:Servlet容器 Servlet是一种运行在支持Java语言的服务器上的组件。使用Servlet可以很轻松地扩展Java网络服务器的功能,为网络客户提供安全可靠的、易于移植的动态网页。由于Java语言本身的平台无关性,加之Servlet运行在服务器端,所以Servlet的运行对用户是完全透明的。 Java Servlet API是Servlet容器和Servlet之间的接口,它定义了Servlet的各种方法,还定义了Servlet容器传送给Servlet的对象类,其中最重要的是请求对象ServletRequest和响应对象ServletResponse。这两个对象都是由Servlet容器

5、在客户端调用Servlet时产生的,Servlet容器把客户请求信息封装在ServletRequest对象中,然后把这个对象都传送给要调用的Servlet,Servlet处理完后把响应结果写入ServletResponse,然后由Servlet容器把响应结果发送到客户端。Tomcat服务器接收客户端请求并作出响应的完整过程如图 下图表示Servlet容器的作用: Tomcat的工作模式 Tomcat作为Servlet容器,有3种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。 独立的Servlet容器:默认模式。Tomcat是内置在Web服务器中的一

6、部分,是指使用基于Java的Web服务器的情形。然而大多数的Web服务器并非基于Java,所以Tomcat又发展了其他两种工作模式以与非基于Java的Web服务器结合。 进程内的Servlet容器:Tomcat作为进程内的Servlet容器时,Servlet容器是作为Web服务器的插件和Java容器的实现。Web服务器插件在内部地址空间打开一个JVM使Java容器得以在内部运行。 进程外的Servlet容器:Tomcat作为进程外的Servlet容器时,Servlet容器运行于Web服务器之外的地址空间,并且作为Web服务器的插件和Java容器的实现的结合。 Tomcat的组织结构 Tomca

7、t是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中。Tomcat各组件将Tomcat分为5层,即Server层、Service层、Engine层、Host层和Context层,处于顶层的是Catalina Servlet容器,它是组件的核心,各层之间通过数据管道PipeLine交互。Tomcat的各个组件是在confserver.xml文件中配置的,Tomcat服务器默认情况下对各种组件都有默认的实现,下面是一个简单而典型的server.xml文件: 顶层类元素:可包含多个Service。

8、 顶层类元素:可包含一个Engine,多个Connector。 连接器类元素:代表通信接口。 容器类元素:为特定的Service组件处理所有客户请求,可包含多个Host。 容器类元素:为特定的虚拟主机处理所有客户请求,可包含多个Context。 容器类元素:为特定的Web应用处理所有客户请求。 以上的类XML的代码就是server.xml文件的基本组成结构,一个元素代表一个组件。下面分别介绍这些组件。 1、不能处理客户请求或生成响应的组件: Server组件:Server组件对应元素,它是配置文件的最顶层元素,代表一个服务器。一个配置文件中只能有一个元素。 Service组件:Service组

9、件是一些Connector组件的集合,它本身不是一个容器,所以在这里不能定义日志等组件。一个Service组件中只能有一个Engine组件,可以包含多个Connector组件。 Connector组件:Connector组件表示一个接口,通过这个接口接收客户的请求,然户发送给其他的容器组件,最后再把服务器的响应结果传递给客户。 2、能够处理客户请求或生成响应的组件: 在Tomcat中只有3个组件具备这一功能,并且有嵌套关系:EngineHostContext。 Engine组件:其下可以包含多个Host组件,它为特定的Service组件处理所有客户请求。 Host组件:代表一个虚拟主机,一个虚

10、拟主机中可以包含多个Web应用。 Context组件:代表一个Web应用。 总结:以下是Tomcat各个组件的层次结构关系。 相关概念:Java Web应用与Context元素 在SUN的Java Servlet规范中,对Java Web应用的定义是:Java Web应用是由一些Servlet、HTML页面、Java类、JSP页面和一些其他的资源构成的。它可以在各种实现了Servlet规范的各种厂商的Web应用容器中运行。Tomcat就是这样一个实现了Servlet规范的Servlet/JSP容器。 一个Java Web应用的构成: 一个Java Web应用在Tomcat中与一个Context

11、元素对应,Servlet容器为每个运行的Java Web应用创建唯一的ServletContext对象,该对象被同一个Web应用中的所有组件所共享,也就是说一个Context元素定义了一个Java Web应用,它们是一一对应的关系。客户每次提出请求时指定要访问的资源,如果客户没有指定具体资源,Tomcat使用默认的资源响应客户,显示文件夹中的资源列表或者提示错误。 假设有3个Web应用,分别为HelloWorld、Counter和TableList,它们对应的主页URL分别如下: HelloWorld:http:/localhost1:8080/HelloWorld/index.html Co

12、unter:http:/localhost1:80/Counter/index.jsp TableList:http:/localhost2:8086/TableList/index.jsp 3个用户分别访问上述3个地址,则Tomcat服务器各个组件响应用户请求的过程如图所示,其中每个Context容器对应唯一的Java Web应用。 Tomcat的安装 Tomcat安装手册 Tomcat的配置 1、了解目录结构 成功安装运行Tomcat之后,需要对Tomcat进行个性化的设置。包括虚拟机、站点参数和用户验证等方面的Tomcat配置。 下面是Tomcat的目录结构: 详细说明: 目 录 bin

13、 用 途 存放启动和关闭Tomcat的脚本文件 commonlib conf logs serverlib serverwebapps sharedlib temp webapps work 存放Tomcat服务器及所有Web应用都可访问的JAR文件 存放Tomcat服务器的各种配置文件,包括server.xml、web.xml、catalina.policy等 存放Tomcat的日志文件 存放Tomcat服务器可以访问的JAR文件 存放Tomcat自带的两个Web应用:admin和manager,用来管理Tomcat的Web服务 存放所有Web应用都可以访问的JAR文件 存放Tomcat运行

14、时的临时文件 Web应用的发布目录,把Web应用文件放入该目录下就可以通过Tomcat服务器来访问 存放JSP经过Tomcat编译后生成的Servlet 2、重要配置文件 在Tomcat目录中,比较重要的配置文件有conf下的tomcat-users.xml、server.xml以及webapps中应用程序目录下的web.xml。 tomcat-users.xml: Tomcat采用基于角色的访问控制模型管理用户对系统的使用,安全性比较高,其角色和对应用户都保存在其中。 server.xml: Tomcat服务器是由一些可配置的组件构成,在server.xml文件中可以对这些组件进行配置,每个

15、Tomcat组件和server.xml文件是一一对应的。 web.xml: 按照Servlet规范定义的Web应用发布描述符文件,是完全独立于Tomcat容器的Web应用配置文件。 3、主要配置 实际使用中,需要配置Tomcat服务器以及Web应用,这是通过结合手工编辑XML文件和平台配置实现的,主要分为两部分:控制配置和管理配置。控制配置可以配置Tomcat服务器以及Web应用;管理配置可以在不重启Tomcat服务器的情况下,方便地发布、启动、停止或卸载Web应用。 在Tomcat 6以前的版本中,分别通过控制平台和管理平台对Tomcat实施控制配置和管理配置,这两个平台都可以通过在浏览器地

16、址栏中输入URL的方式进行登录。但由于Tomcat 6.0.14没有提供控制平台包,所以要通过修改conf子目录下的server.xml来进行控制配置,管理配置可以通过Tomcat自带的管理平台来实现,该平台位于Tomcat安装目录serverwebappsmanager下。 4、Tomcat配置详解 Tomcat配置详解 Tomcat中的日志服务 1.Tomcat 日志概述 Tomcat日志信息分为两类: 一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息; 二是访问日志信息,它记录访问的时间,IP,访问的资料等相关信息。 2.Tomcat 日志配置 2.1访问日志的配置

17、 默认tomcat不记录访问日志,如下方法可以使tomcat记录访问日志: 通过修改server.xml,可以将日志服务添加进组件中。具体操作如下: 在server.xml里的标签下加上 就可以生成日志了。 下面详细解释一下主要参数 参 数 className directory prefix suffix pattern resolveHosts 解 释 官方文档上说明了,想配置访问日志这就必须得写成这样。 这是日志文件放置的目录,在tomcat下面有个logs文件夹,那里面是专门放置日志文件的,当然也可以自行修改 这个是日志文件的名称前缀 这个是日志文件的名称后缀 最主要的参数,这个参数的

18、内容比较丰富,稍候探讨 如果这个值是true,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址 默认为true,默认的设置使得tomcat生成的文件命为prefix+.+时间+.+suffix。使用这个需要谨慎,因为如果将其设置为false的话,tomcat会忽略时间,不会新生成文件,最后导致文件超级大 condition 存放Tomcat运行时的临时文件 fileDateFormat 设置时间格式,针对日志文件起作用 2.2 配置 tomcat 写出更详细的日志 关于pattern。通过对pattern项的修改,可以改变日志输出的内容。pat

19、tern可以设置成pattern=common,或pattern=combined两种方式,以控制日志里面的格式。common和combined只是集成了一些显示方式,事实上是可以自行设置 格式的。如下表举例: 参 数 解 释 %a %b %h 记录访问者IP 发送信息的字节数 服务器名称 %H 访问者使用的协议 这里暂且不一一列举了。关于更详细的内容,请参考 Tomcat日志参数详解 3.修改Tomcat运行日志的等级 3.1 日志类型与级别 Tomcat 日志分为下面5类:catalina 、 localhost 、 manager 、 admin 、 host-manager 每类日志的

20、级别分为如下7种:SEVERE (highest value) WARNING INFO CONFIG FINE FINER FINEST (lowest value) 3.2 日志级别的设定方法 通过修改 conf/logging.properties 中的内容,设定某类日志的级别。示例: 设置 catalina 日志的级别为: FINE 1catalina.org.apache.juli.FileHandler?.level = FINE 禁用 catalina 日志的输出: 1catalina.org.apache.juli.FileHandler?.level = OFF 输出 cat

21、alina 所有的日志消息均输出: 1catalina.org.apache.juli.FileHandler?.level = ALL 4.使用log4j记录应用程序日志或系统日志 可以通过使用Log4j输出详细系统日志信息,快速诊断启动故障,此举可弥补tomcat启动异常时输出的错误信息不足的问题,使用commons-logging和log4j搭配输出详尽的日志信息。 具体参考 在Tomcat中使用log4j记录日志 5.在Tomcat5.5以后版本中的日志功能 Tomcat5.5在内部代码中使用commons-logging,使得开发者可以选择一种适合其需要的日志配置,比如java lo

22、gging,log4j等等。commons-logging使Tomcat可以分层次地记录日志,而不依赖于具体的日志实现。 对于Tomcat5.5,最重要的之前版本中用于生成本地日志的标签被取消了,取而代之,默认的配置将使用java logging。如果开发者想要收集详细的内部Tomcatlogging信息,则需要设置具体的日志实现,如java logging,log4j等等。 具体实现参照 Tomcat中设置java logging与log4j 附录 Tomcat版本历史 Apache Tomcat 7.x 是目前的开发焦点。它在汲取了Tomcat 6.0.x优点的基础上,实现了对于Servl

23、et 3.0、JSP 2.2和EL 2.2等特性的支持。除此以外的改进列表如下: 1 Web应用内存溢出侦测和预防 2 增强了管理程序和服务器管理程序的安全性 3 一般 CSRF保护 4 支持web应用中的外部内容的直接引用 5 重构 (connectors, lifecycle)及很多核心代码的全面梳理 Apache Tomcat 6.x 在汲取 Tomcat 5.5.x优点的基础上,实现了Servlet 2.5和JSP 2.1等特性的支持。除此以外的改进列表如下: 1 内存使用优化 2 更大的IO容量 3 重构聚类 Apache Tomcat 5.x Apache Tomcat 5.5.x

24、 和Apache Tomcat 5.0.x 对于Servlet和JSP的支持是一样的。大量底层代码里的重大修改,带来性能的提升、稳定性的提升及整体成本。详请参照Apache Tomcat 5.5的更新日志。Apache Tomcat 5.0.x在Apache Tomcat 4.1的基础上做了很多改动,包括: 1 性能优化和减少垃圾回收动作 2 重构程序部署,通过一个可选的独立部署程序,允许在将一个web应用放进产品前验证和编译它 3 基于JMX的服务器全面监视及web程序管理 4 提高Taglibs的支撑能力,包括改进的数据池和tag插件 5 改进平台集成性,包括Windows和Unix 6

25、基于JMX的嵌入 7 增强的安全管理支撑 8 集成session集群 9 文档扩充 各个版本支持的规范对照: Apache Tomcat 版本 Servlet/JSP_规范版本 7.0.0 6.0.18 5.5.25 4.1.36 3.3.2 3.0/2.2 2.5/2.1 2.4/2.0 2.3/1.2 2.2/1.1 Attachments picture1.PNG picture2.PNG picture3.PNG (8.3 KB) - added by zhanglei09 2 months ago. (7.4 KB) - added by zhanglei09 2 months ago. (13.5 KB) - added by zhanglei09 2 months ago. picture4.PNG (2.5 KB) - added by zhanglei09 2 months ago. Download in other formats: Plain Text PDF Article PDF Book Printable HTML Powered by Trac 0.11.7 By Edgewall Software. 加入开发者邮件列表给我们发信

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号