Servlet 生命周期
过程:加载 --> 实例化 --> 服务 --> 销毁
init():在Servlet生命周期中,init()方法只执行一次,无论有多少客户端访问,都不会重复执行。它是在服务器装入Servlet时执行的,负载初始化Servlet对象。
service():当Servlet容器接收到一个请求时,Servlet容器会针对这个请求创建ServletRequest ServletResponse对象。然后调用service()方法。并把这两个参数传递给service()方法。service()方法通过ServletRequest对象获得请求的信息。并处理该请求。再通过ServletResponse对象生成这个请求的响应结果。
destroy():在Servlet生命周期中,destroy()方法只会被执行一次。当Servlet对象结束生命周期时,负责释放资源。
Servlet 工作原理
web服务器接受到一个http请求后,web服务器会将请求移交给servlet容器
servlet容器首先对所请求的URL进行解析并根据web.xml 配置文件找到相应的处理servlet
同时将request、response对象传递给它,servlet通过request对象可知道客户端的请求者、请求信息以及其他的信息等
servlet在处理完请求后会把所有需要返回的信息放入response对象中并返回到客户端
servlet一旦处理完请求,servlet容器就会刷新response对象,并把控制权重新返回给web服务器。 |