前言
4-8章是JVM和编译器等的内容, 比较深入,凭我目前实际开发经验,感觉太深了,故而跳了。
第9章主要讲的是Servlet的工作原理。
为什么要学啊 = = ,因为我们是面向Debug学习啊!!
大家都会莫名其妙报错,而学的多可以精准修正,学的差就无能狂怒啦。
在第9章你将学习到:
- Servlet容器是如何启动
- Servlet容器是如何工作的(Tomcat)
- Servlet容器是如何解析web.xml的
- 请求是如何分配给指定的Servlet
- Servlet容器如何管理Servlet的生命周期
个人感觉第九章的知识点空洞的一比,可能是为了后面几章铺垫吧= =
造就完了,奥利给!
Servlet容器
背景
Servlet 与 Servlet 容器的关系,就是鱼和鱼塘的关系。
虽然它们是彼此依存的,但是又相互独立,从技术角度来说是为了解耦。
前面说了 Servlet 容器作为一个独立发展的标准化产品,目前它的种类很多,但是它们都有自己的市场定位,很难说谁优谁劣,各有特点。例如现在比较流行的 Jetty,在定制化和移动领域有不错的发展,我们这里还是以大家最为熟悉 Tomcat 为例来介绍 Servlet 容器如何管理 Servlet。
Tomcat 的容器等级中:
- Servlet 容器是间接管理 Servlet
- Context 容器是直接管理 Servlet 在容器中的包装类 Wrapper(可以理解为Wrapper≈Servlet,因为一个Wrapper存且仅存一个Servlet,当然还有Servlet的相关信息)
所以 Context 容器如何运行将直接影响 Servlet 的工作方式。
Tomcat 的容器分为四个等级,真正管理 Servlet 的容器是 Context 容器,一个 Context 对应一个 Web 工程:
强调一下(Servlet容器 ≠ \neq =Servlet,Context容器=Context)
Tomcat的配置文件中也能看出来:
<Context path="/projectOne " docBase="D:\projects\projectOne"<