您的位置:首页 > 其它

Servlet的生命周期和工作原理

2017-12-10 20:11 239 查看
@作者博客

Servlet生命周期和工作原理

分为三个阶段

初始化阶段 调用init()方法

响应客户请求阶段  调用service()方法

终止阶段  调用destroy()方法 (抵死囧应)

*记住这一点 : Servlet 加载—>实例化—>服务—>销毁。

初始化阶段 init()

在Servlet的生命周期中,仅执行一次init()方法

它是在服务器载入Servlet时执行的,负责初始化Servlet对象

核心: service()

它是Servlet的核心,负责响应客户的请求,每当一个客户请求一个HTTPServlet对象的时候,该对象就会调用Service()方法.而且传递给这个方法一个请求(ServletRequset)对象和一个响应(ServletResponse)对象作为初始.默认是调用Http请求响应Do功能

默认情况下,当客户第一次请求访问Servlet时,WEB容器就会创建Servlet的实例

当web.xml文件中如果元素中指定了子元素时,Servlet容器在启动web服务器时,将按照顺序创建并初始化Servlet对象。

Destory()

仅执行一次,在服务器停止的时候.

当Servlet对象退出生命周期时,负责释放占用的资源.

当WEB应用被终止,或Servlet容器终止运行,或Servlet容器重新装载Servlet新实例时,Servlet容器会先调用Servlet的destroy()方法,在destroy()方法中可以释放掉Servlet所占用的资源。

通俗一点说 工作原理

首先客户发送一个请求,Servlet是调用service()方法对请求进行响应
service()方法中对请求的方式进行了匹配,选择调用 doGet,doPost等方法,然后再进入对应的方法,调用逻辑层的方法,实现对客户端的响应.


扩展

Servlet与JSP的比较:
  都可以生成动态网页。
  JSP的优点是擅长于网页制作,生成动态页面比较直观,缺点是不容易跟踪与排错。
  Servlet是Java语言,擅长于处理流程和业务逻辑,缺点是生成动态网页不直观。


思维导图如下:

@作者博客



© 著作权归作者所有
转载请保留原链接地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: