专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java web视频:Servlet执行原理

Java web视频:Servlet执行原理

更新时间:2020-04-15 13:11:37 来源:星辉 浏览1958次

    Java web视频:Servlet执行原理,在JavaWeb学习研究中,Servlet扮演重要的作用,学好它,是后续JavaWeb学习的良好基础。无论是SSH,还是SSM,微服务JavaWeb技术,都应先学好Servlet,从而达到事半功倍的效果,本篇将主要分析Servlet的运行原理。

    下图为ServletUML关系图。

Java web视频:Servlet执行原理

    从图中,可以看出:

    1.抽象类HttpServlet继承抽象类GenericServlet,其有两个比较关键的方法,doGet()和doPost()

    2.GenericServlet实现接口Servlet,ServletConfig,Serializable

    3.MyServlet(用户自定义Servlet类)继承HttpServlet,重写抽象类HttpServlet的doGet()和doPost()方法

    注:任何一个用户自定义Servlet,只需重写抽象类HttpServlet的doPost()和doGet()即可,如上图的MyServlet

    二Servlet在容器中的执行过程

    Servlet只有放在容器中,方可执行,且Servlet容器种类较多,如Tomcat,WebLogic等。下图为简单的请求响应模型。

Java web视频:Servlet执行原理

    分析:

    1.浏览器向服务器发出GET请求(请求服务器ServletA)

    2.服务器上的容器逻辑接收到该url,根据该url判断为Servlet请求,此时容器逻辑将产生两个对象:请求对象(HttpServletRequest)和响应对象(HttpServletResponce)

    3.容器逻辑根据url找到目标Servlet(本示例目标Servlet为ServletA),且创建一个线程A

    4.容器逻辑将刚才创建的请求对象和响应对象传递给线程A

    5.容器逻辑调用Servlet的service()方法

    6.service()方法根据请求类型(本示例为GET请求)调用doGet()(本示例调用doGet())或doPost()方法

    7.doGet()执行完后,将结果返回给容器逻辑

    8.线程A被销毁或被放在线程池中

    注意:

    1.在容器中的每个Servlet原则上只有一个实例

    2.每个请求对应一个线程

    3.多个线程可作用于同一个Servlet(这是造成Servlet线程不安全的根本原因)

    4.每个线程一旦执行完任务,就被销毁或放在线程池中等待回收

    三Servlet在JavaWeb中扮演的角色

    Servlet在JavaWeb中,扮演两个角色:页面角色和控制器角色。

    有了jsp等动态页面技术后,Servlet更侧重于控制器角色,jsp+servlert+model形成基本的三层架构

    (一)页面Page角色

Java web视频:Servlet执行原理

    (二)控制器角色

    jsp充当页面角色,Servlet扮演控制器角色,两者组合构建基本的MVC三层架构模式

Java web视频:Servlet执行原理

    四Servlet在容器中的生命周期

    下图为Servlet生命周期简要概图

Java web视频:Servlet执行原理

 以上就是星辉java培训机构的小编针对“Java web视频:Servlet执行原理”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

 Javaweb相关基础学习

    Servlet视频教程:http://www.quanmin114.com/javavideo/119.html

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>