zoukankan      html  css  js  c++  java
  • Spring MVC 工作流程详解

    1.首先先来一张图

    开始流程----------------》

    1.用户发送请求到前端控制器,前端控制器会过滤用户的请求,例如我们在web.xml里面配置的内容;

    <!-- 配置SpringMVC核心控制器 -->
      <servlet>
        <servlet-name>springMVC</servlet-name>

        //前端控制器是一个Servlet 
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath*:config/spring-mvc.xml</param-value>
        </init-param>
        <!-- 启动加载一次 -->
        <load-on-startup>1</load-on-startup>
      </servlet>

    <servlet-mapping>
            <servlet-name>springMVC</servlet-name>
            <!-- 此处可以可以配置成*.do -->
            <url-pattern>/</url-pattern>
    </servlet-mapping>

    这里表示过滤以/开始的所有请求

    2-3.前端控制器会找到处理器映射器(HandlerMapping),简单来说就是它会去找你配置好@Controller ,然后把请求的url 与处理器绑定在一起

    @Controller
    public class UserCon {

    @Autowired
    private UserService userService;

    @ResponseBody
    @RequestMapping(method = RequestMethod.POST, value = "/login")
      public String login(HttpServletRequest request) {

      String phone = request.getParameter("phone");
      String password = request.getParameter("password");
      boolean b = userService.login(phone, password);
      if (b) {
        return "true";
      }
        return "false";

    }

    这里绑定url就是/login 这里吧login和login()方法绑定在一起,并且返回这个绑定后的Map集合

    4-5 HandlerAdapter 会将Map集合中的Login()拿出来交给Handler处理器

    5-6 Handler处理器处理代码最终会处理器会返回一个ModelAndView对象给HandlerAdapter(这里不返回视图,直接返回String)

    7-8 通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)

    9-10 前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(jsp);

    最终返回给用户,呈现在浏览器上

  • 相关阅读:
    014_IP专项研究监控
    023_System Integrity Protection in macos
    013_UDP专项研究监控
    谈谈MySQL的do语句
    MySQL8的新特性CTE
    MySQL通过Explain查看select语句的执行计划结果触发写操作
    关于QueryCache的一次打脸
    Python 实现进程间通信(网络编程)
    MySQL自成一派的查询提示
    谈谈MySQL的WriteSet并行复制
  • 原文地址:https://www.cnblogs.com/ChromeT/p/9959644.html
Copyright © 2011-2022 走看看