在 java web 开发领域,web 服务器和 web 应用是两个不同的软件体系,这两个体系如何实现协助从而在互联网访问 web 应用呢?
为了能让 web 服务器与 web 应用两个不同的软件系统协作,需要有一个中介方制定两方进行协助的标准接口,作为 java 语言创始者的 SUN 公司,制定了一系列标准 java 接口(统称 Java Servlet API),统称 servlet 规范。
tomcat 是使用 java 语言编写的,servlet 规范把能够发布和运行 javaWeb 应用的 web 服务器称为 servlet 容器。apache 创建的 tomcat 是一个符合 servlet 规范的优秀 servlet 容器。javaWeb 应用在 tomcat 中运行,tomcat 又在安装了 web 服务的服务器上运行。
基本的架构就出来了,tomcat 其实就是一段制定规范接口的 java 代码,什么规范?servlet 规范;可以这样理解,你编写的 javaWeb 项目其实最基本的技术就是 servlet 技术,将 javaWeb 部署到 tomcat,其实就是跑 servlet 的 java 代码。java 面向对象思想在 tomcat 里面也体现了,启动 tomcat,tomcat 会初始化 ServletRequest、ServletResponse、ServletConfig、ServletContext,然后根据 server.xml 配置去实例化这些对象。tomcat 的启动日志还会指定 CATELINA_HOME、CATELINA_BASE 变量路径,因为运行项目时,java 虚拟机不知道文件在哪里。
总结一下:
tomcat 启动会创建 servlet 容器,servlet 容器会创建一些小弟,然后给这些小弟分配工作。当你请求各种资源时,这些小弟就开始干活了。至于小弟到底怎么工作可以了解 JVM 原理。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于