• SpringMVC 的执行原理


    SpringMVC 的执行原理

    关键词: Spring MVC

    转自SpringMVC 执行流程-睿站-狂神说

    SpringMVC 是一个web 框架,它实现了 MVC 三层架构。

    大体上来说,SpringMVC 通过 DispatchServlet 拦截用户请求的 url,
    然后决定交给哪一个 controller 处理

    举一个例子:

    1. 假设用户输入 url 为 http://localhost:8080/SpringMVC/hello
    • http://localhost:8080 是服务器域名
    • SpringMVC 表示部署在服务器上的web站点
    • hello表示控制器

    通过分析,如上url表示为:

    请求位于服务器localhost:8080上的SpringMVC站点的hello控制器。

    1. HandlerMapping为处理器映射。
      DispatcherServlet调用 HandlerMapping,
      HandlerMapping根据请求url查找Handler。

    2. HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找控制器为: hello。

    3. HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等。

    4. HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler。

    5. Handler让具体的Controller执行。

    6. Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView.

    7. HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet.

    8. DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名。

    9. 视图解析器将解析的逻辑视图名传给DispatcherServlet。

    流程图如下,转自秦疆

    SpringMVC 执行流程图

    Controller 部分代码

    import org.springframework.web.servlet.Mode1Andview;
    import org.springframework.web.servlet.mvc.Controller;
    import javax.servlet.http.HttpservletRequest;
    import javax.servlet.http.HttpServletResponse;
    //注意:这里我们先导入controller接口
    
    public class Hellocontroller implements Controller {
        public NodelAndview handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        //ModelAndView模型和视图
        ModelAndview mv = new ModelAndview();
        //调用业务层,暂时不写
    
    
        //封装对象,放在ModelAndView中
        mv.add0bject( attributeName: "msg" , attributeValue: "HelloSpringWVC!");
    
        // 封装要跳转的视图,放在ModelAndView中
        // 后续会依据配置,使用 name 拼接成 WEB-INF/jsp/hello.jsp,
        // 相当于告诉 SpringMVC 要将数据交给哪个 jsp
        mv.setviewName("hello");
        return mv;
        }
    }
    
  • 相关阅读:
    【字符串】
    SQL Server 一些使用小技巧
    SQL语句将一个表的数据写入到另一个表中
    SQL语句用一个表的数据更新另一个表
    Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页
    Sqlserver存储过程中使用Select和Set给变量赋值
    NPOI导Excel样式设置
    NPOI根据模板生成chart图表导出Excel
    Sqlserver中通过Select Into语句快速单表备份
    NPOI插入图片到excel指定单元格
  • 原文地址:https://www.cnblogs.com/ticlab/p/16005567.html
Copyright © 2020-2023  润新知