今天看了看servlet的知识。主要是看的许令波老师的《深入分析javaWeb技术内幕》----第9章 Servlet工作原理解析(感谢),增加了一些体会。
1.一个web应用对应一个context容器,也就是servlet运行时的servlet容器。(tomcat下的容器等级)
其实这点在我日常部署项目过程中也有体会。
(上图就是一个tomcat下多个context,把路径文件***.xml都写在//apache-tomcat-7.0.69-19710-jy-zb-tb/conf/Catalina/localhost目录下)
上图是一个tomcat下部署了一个web应用,把路径配置直接写在了tomcat的server.xml中。
2.tomcat的启动逻辑是基于观察者模式设计的,Filter 责任链模式。
3.一个url的解释。 http://hostname:port/contextpath/servletpath。 hostname和port用来与服务器建立TCP连接,而后面的URL才是用来选择服务器哪个子容器,哪个请求哩。
4.Listener
.
5. 自我体会: 当我们启动tomcat(web服务器,servlet容器时),context为init时(这是一个复杂的过程contextconfig什么的),就会加载一些资源性质的东西,解析web.xml(context-param.listener,filter,servlet等),这个完成,基本服务器就可以被访问了.用户输入正确的url,就可以被servlet doget(),dopost()截获,然后把数据再给用户返回去。 后来servlet就和mvc模型结合了,得到url请求后,用mvc去准备,返回数据。
6.contextconfig 解析很多配置。