zoukankan      html  css  js  c++  java
  • SpringMvc

    ⑴ 用户发送请求至前端控制器DispatcherServlet

    ⑵ DispatcherServlet收到请求调用HandlerMapping处理器映射器。

    ⑶ 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

    ⑷ DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

    ⑸ 执行处理器(Controller,也叫后端控制器)。

    ⑹ Controller执行完成返回ModelAndView

    ⑺ HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

    ⑻ DispatcherServlet将ModelAndView传给ViewReslover视图解析器

    ⑼ ViewReslover解析后返回具体View

    ⑽ DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

    ⑾ DispatcherServlet响应用户。

    2,手写springmvc 

    1,servetDispatcher extends HttpServlet

       初始化阶段:

       1,通过扫包,通过反射

         所有标注@Controller 的类

         类上所有标注@RequestMapping

         方法上所有标注@RequestMapping 

         类上的url + 方法上的url ,方法名存入 conrrenthashmap

        2,doservice(); 

       3,客户端发送请求,根据url找到对应的方法,调用视图转换器渲染给页面展示

    3,servlet

    Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

    Servlet 生命周期:

    Servlet 加载—>实例化—>服务—>销毁。

    init():

    Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。

    service():

    它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个请求ServletRequest)对象和一个响应ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。

    destroy():

    仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

  • 相关阅读:
    《机器学习十讲》学习报告七
    找到每个人的任务
    牛客每个人最近的登陆日期
    考试分数(一)
    牛客的课程订单分析(一)
    实习广场投递简历分析(一)
    sql 查找最晚入职员工信息
    sql 学习笔记
    shell 编程获取文件名后缀为特定字符的函数
    im的基本思路
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11163886.html
Copyright © 2011-2022 走看看