1:Tomcat工作原理
2:Tomcat工作模式
(1):独立的Servlet容器(默认)(2)进程内的Servlet容器(基于JNI)(3)进程外的Servlet容器(基于IPC)
JNI:Java Native Interface,本地通信接口,通过这个接口,Java 程序可以和其他语言编写的本地程序进行通信。
IPC:Inter Process Communication,进程间通信
Tomcat既可以作为独立的容器,又可以和其他Web服务器集成(例如IIS,Apache)作为进程内、进程间Servlet容器
Servlet容器分为:
1.Web服务器插件:在其他的WEB服务器内部地址空间打开一个JVM,Java容器在这个开辟的JVM上运行Servlet
2.Java容器
3:Tomcat组织结构
最基本的配置:
<Server>顶层类元素,可包含多个 Service
<Service>顶层类元素,可包含一个 Engine 和多个 Connector,本身并不能处理客户请求
<Connector/>连接器元素,代表通信接口,本身并不能处理客户请求
<Engine>容器元素,为 Service 处理客户请求,可包含多个 Host
<Host>容器元素,为 Host 处理客户请求,可包含多个 Context
<Context/>容器元素,为 Web 应用处理客户请求
</Host>
</Engine>
</Service></Server>
Connector 组件表示一个接口,通过这个接口接收客户的请求,然后发送给其他的容器组件,最后再把服务器的响应结果传递给客户。
上面介绍的 3 个组件:server,service,connector本身并不能处理客户请求,也不能生成响应。在 Tomcat 中只有 3 个组件是可以处理客户请求并生成响应的,这 3 个组件分别是 Engine、Host 和 Context。这 3 个组件分别代表了不同的服务范围,通过嵌套关系可以知道 3 个组件的范围有如下的关 系:Engine>Host>Context。
Engine 组件下可以包含多个 Host 组件,它为特定的 Service 组件处理所有客户请求。
一个 Host 组件代表一个虚拟主机,一个虚拟主机中可以包含多个 Web 应用(Context 组件)。
Context 组件代表一个 Web 应用。
WEB服务器种类:
Java Web 服务器软件按照规模从小到大依次有:JSWDK、JServ、Resin、Tomcat、JRun、JBoss、WebLogic、WebSphere 等,其中 JSWDK、JServ、Resin、Tomcat、JRun、JBoss 是完全免费的软件。
4:JVM性能设置
堆大小
堆大小也可以提高性能,JDK1.3.1 允许堆大小大于 2GB,默认堆大小为 64MB,但是 大部分的服务器增加堆大小后性能会提高,设置参数为-Xms256m -Xmx256m,Xms 代表最 大大小,Xmx 代表默认启动大小,m 代表 MB,g 代表 GB。
垃圾回收
如果堆设置过大,也许服务器会在无端的情况下奇怪终止。这是因为垃圾回收器(GC, garbage collector)仅仅在内存被耗尽后在整个系统中启动垃圾回收任务,也意味着需要花 费一定的时间来检查 2G 以上的内存。如果堆过大,扫描内存的时间过长,就会导致系统 终止。不过有办法可以解决,添加命令参数-Xincgc,使垃圾回收器运行在 incremental 模式, 它会经常运行检查小数量的内存。还有一种解决办法,设置参数-Xms256m -Xmx256m -XX:NewSize=128m -XX:MaxNewSize=128m,NewSize 是新建对象的大小,MaxNewSize 是新建堆运行增长的最大值,它决定了何时将新的对象置为旧的对象。
5:Tomcat目录
Tomcat 根目录在 Tomcat 中叫$CATALINA_HOME ,即安装目录。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/aa" reloadable="true"docBase="D:\bb\aa" workDir="webapps/axis/work"/>
其中属性 path 代表网络访问的上下文路 径,reloadable 表示可以在运行时在 classes 与 lib 文件夹下自动加载类包,docBase 属性表 示应用程序的路径,如 docBase="D:\bb\aa",workDir 表示缓存文件的放置地点,可以方 便跨平台移植时不用重编译。
用 service.bat 安装 Tomcat 服务
service.bat 位于 Tomcat 安装目录的 bin 文件夹下,用该批处理文件来安装、删除 Tomcat服务比较方便:下载时要下载
安装名为 Tomcat5 的服务:service install;
删除 Tomcat5 服务:service remove;
安装名为 MyTomcatService 的服务:service install MyTomcatService; 删除名为 MyTomcatService 的服务:service remove MyTomcatService。