首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>java>Java基础>正文

JSP/Servlet:tomcat深入内部结构描述

http://www.oklinux.cn  2008-01-20  来源: 赛迪网 wwty  会员收藏  游客收藏  【 】 

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应用访问


上一篇:J2SE综合--讨论Vector遍历的通用实现   下一篇:用JSTL标签访问list且判断list的选中项


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·J2SE综合--讨论Vector遍历的通用实现
·用JSTL标签访问list且判断list的选中项
·ServletContext与ServletConfig的分析
·提高写文件的性能的一个比较简单的方法
·语言深入:java中究竟是传值还是传引用
·Java多线程设计模式:wait/notify机制
·进阶-Java编写过程中安全问题解决指南
·进阶-Java中用动态代理类实现记忆功能
·J2SE综合介绍:浅谈java程序发布之 jre 篇
·JAVA高级编程--软件项目质量管理随想
·深入浅析如何在内部类中返回外部类对象
·J2SE综合--关于spring中的aop的解释
·J2SE综合介绍:关于spring中的 aop 的解释
·高级:如何在Web工程中实现任务计划调度
·Java高级:深入浅析Java 类型提升的约定
·JSP/Servlet/JSF:自定义标签的另类体验
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Java入门:状态对象--数据库的替代者
·Java语言怎样调用外部应用程序
·Java语言深入--关于Java语言的内存泄漏
·JSP/Servlet/JSF:Servlet/JSP配置详解
·进阶-怎样使用AJAX进行WEB应用程序开发
·基础:J2ME程序开发之新手入门九大要点
·Java入门--Java语言接口与继承的本质
·JAVA进阶--如何提升JSP应用程序的效率
·对Java中四种XML解析技术之不完全测试
·编写高级 JScript应用代码
·JSP/Servlet/JSF--对标签库的深入研究
·Java入门--关于字符串分割的两种方法
  阅读排行
·使用AJAX技术实现网页无闪自动局部刷新
·快速教您Apache Tomcat SSL的配置
·Java语言深入--java调用C/C 的过程
·用JSP JavaScript打造二级级联下拉菜单
·JAVA进阶--线程运行栈信息的获取讲解
·J2SE综合--JAVA实现把汉字转化成拼音
·使用WEBWORK实现文件上传方法实例详解
·一个非常有趣的使用spring框架AOP例子
·关于java中相对路径,绝对路径问题总结
·高级:lucene全文检索应用示例及代码简
·详细讲解Struts构架中action的跳转大全
·在Weblogic上配置JMS服务的方法
·Hibernate配置文件中的映射元素详解
·对Java中四种XML解析技术之不完全测试
·基于AJAX的动态树型结构的设计与实现
网摘收藏: