tomcat的一些简单了解总结

在了解tomcat前我们先看下通常一个应用目录的结构:
[img]http://dl2.iteye.com/upload/attachment/0103/7466/80fda863-8c66-31f2-a162-d07d50b3d5c8.png[/img]
,这里web.xml不是必须的,如果lib和classes下有相同的包名,类名。classloader优先从classes下加载,每个应用有自己单独的classloader实例,线程在进入和退出webapp逻辑时要进行classloader的切换,一个webapp对应一个servletContext。
从组件的角度,tomcat分为connector和container,这两个组件有封装在service组件里,如图所示:
[img]http://dl2.iteye.com/upload/attachment/0103/7476/89361e49-f818-3a2c-8f31-8539f49a09e4.png[/img]
tomcat的server可以包含一组service,通常只有1个service,有1-2个connector。
connector的协议有HTTP/HTTPS及AJP。
Catalina的四重奏:engine,host,context,wrapper。engine内部可以包括多个host,host可以部署多个应用,context应用上下文,可以包含多个wrapper。wrapper对应规范里定义的servlet;这层封装便于拦截和扩展。
关于容器中的后台线程的一些了解:
(1)servlet规范定义了app reload:服务器应该能够更新一个新版本的应用程序,而无需重启容器。
(2)并不是每个子容器都会启动后台线程,默认情况下,只有Engine会启动后台线程。
(3)reload的时候,做了什么?
stop appContext
start appContext
(4)server的停止过程:
1)pause connector
2) stop container
3) stop connector
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值