java servlet 笔记

Java Servlet 是 Java 的一个 web 组件, 用来产生动态内容, 必须在 Servlet container 里面运行. Servlet container 又叫 Servlet 引擎, 是 web Server的扩展, 提供了 Servlet 运行的环境. 它通过 request/response 报文与客户端通信. request/response 都是基于 MIME 的. Servlet container 必须支持Http (1.0 & 1.1) 协议, https 可选支持.

Servlet 有它的生命周期, Servlet container 负责它生命周期的管理. Servlet 接口中定义了 init, service, destroy 这些方法来诠释它的生命周期.
Servlet 被load 和实例化可能在 container 初始化的时候, 可有可能在第一次这个Servlet 被调用的时候, 据配置/Annotation 而定.
Servlet 通过init 方法被初始化, GenericServlet 实现了 ServletConfig 接口, 这个接口能提供Servlet的一些配置信息和Container的一些相关信息.
Servlet interface 有2个实现类: GenericServlet & HttpServlet.
Servlet 定义了一个service 方法, 用来处理客户的请求. Servlet container 通过多线程并发调用 service 方法来处理并发请求.
在非分布式的环境中, Servlet 在 container 中默认只有一个instance. 如果Servlet 实现了 javax.servlet.SingleThreadModel 接口, 那么为了支持更多的请求, 可能是多个instances. javax.servlet.SingleThreadModel 接口在最新版本中被逐渐废弃.

未完待续

标签: none

添加新评论