初识 Servlet
1. 什么是Servlet?
从大的方面来说,Servlet 是 SUN 公司提供给程序员用的一种 web 开发技术,它制定了一系列的规范。编码时遵从这种规范就能够写出自己想要的 web 应用。
从小的方面来说,它是 javax.Servlet 包内的一个接口,所有实现了这个接口的类都可以称之为 Servlet 。这些 Servlet 类的对象是由 Servlet 容器以单例和反射的技术创建的,也是由 Servlet 容器在运行是将 Servlet 类加载到内存中,并选择如何运行这些类的。
那什么是 Servlet 容器呢?就是实现了上述所说的 Servlet 规范的程序。 Tomcat 就是一个 Servlet 容器。
简述一下 Tomcat 的运行过程。Tomcat 本质上是一个 Servlet 容器,但它同时把 web 服务器的功能也集成了,所以不需要额外的 web 服务器。
现在 Tomcat 接收到了一个 http 请求,它会解析这个请求报文,获得相关信息后封装到 HttpServletRequest 类中,再从配置文件中选择相应的 Servlet 类,调用它的 Service() 方法。经过 Servlet 类处理过后会将返回信息封装到 HttpServletResponse 类中,再经过 Tomcat 解析,封装成 Http 报文,发送给客户端。