• SpringMVC处理请求核心流程


    一、前言

    SpringMVC是一个基于Java的Web框架,它使用MVC(Model-View-Controller)设计模式来处理Web请求。在SpringMVC中,请求处理的核心流程主要包括以下几个步骤:

    1、用户发送请求到前端控制器(DispatcherServlet)。

    2、前端控制器接收到请求后,根据请求信息找到相应的处理器映射器(Handler Mapping)。

    3、处理器映射器根据请求URL找到具体的处理器(Controller)。

    4、前端控制器调用处理器适配器(Handler Adapter)来执行处理器。

    5、处理器执行完成后,返回一个ModelAndView对象给前端控制器。

    6、前端控制器根据ModelAndView对象中的视图名称,找到相应的视图解析器(View Resolver)。

    7、视图解析器将视图名称解析为具体的视图页面。

    8、前端控制器将ModelAndView对象传递给视图页面,视图页面使用Model中的数据渲染页面。

    9、视图页面渲染完成后,返回给用户。

    二、例子

    1. // 1. 用户发送请求到前端控制器(DispatcherServlet)
    2. // 请求URL:/hello
    3. // 2. 前端控制器接收到请求后,根据请求信息找到相应的处理器映射器(Handler Mapping)
    4. // 处理器映射器根据请求URL找到具体的处理器(Controller)
    5. @Controller
    6. public class HelloController {
    7. // 3. 处理器(Controller)处理请求
    8. @RequestMapping("/hello")
    9. public String hello(Model model) {
    10. String message = "Hello, SpringMVC!";
    11. model.addAttribute("message", message);
    12. return "hello"; // 返回视图名称
    13. }
    14. }
    15. // 4. 前端控制器调用处理器适配器(Handler Adapter)来执行处理器
    16. // 5. 处理器执行完成后,返回一个ModelAndView对象给前端控制器
    17. // ModelAndView对象包含视图名称和Model数据
    18. // 6. 前端控制器根据ModelAndView对象中的视图名称,找到相应的视图解析器(View Resolver)
    19. // 视图解析器将视图名称解析为具体的视图页面
    20. // 在SpringMVC的配置文件中配置视图解析器:
    21. "org.springframework.web.servlet.view.InternalResourceViewResolver">
    22. "prefix" value="/WEB-INF/views/" />
    23. "suffix" value=".jsp" />
    24. // 7. 视图解析器将视图名称解析为具体的视图页面:/WEB-INF/views/hello.jsp
    25. // 8. 前端控制器将ModelAndView对象传递给视图页面,视图页面使用Model中的数据渲染页面
    26. // 在hello.jsp页面中使用EL表达式获取Model中的数据:
    27. Hello SpringMVC
    28. ${message}

    29. // 9. 视图页面渲染完成后,返回给用户

  • 相关阅读:
    MySQL数据库入门到精通4--进阶篇(SQL优化)
    小黑子—MyBatis:第三章
    宠物寄养小程序实战教程02
    idea正常,jar启动报错
    关于微信小程序与Java后台交互数据中中文乱码问题的讨论
    cba新闻查询易语言代码
    Postgresql关于EOH的使用注意
    LeetCode+ 76 - 80 暴搜专题
    CentOS 7 下安装 MySQL 8.x
    【Bug】Apache POI 读取Excel小数补位问题
  • 原文地址:https://blog.csdn.net/weixin_52721608/article/details/133530861