SpringMVC执行流程
2023年11月15日大约 2 分钟约 400 字

package com.lzw.web.debug;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author LiAng
*/
@Controller
public class HelloHandler {
//编写方法,返回ModelAndView
@RequestMapping(value = "/debug/springmvc")
public ModelAndView hello(HttpServletRequest request, HttpServletResponse response){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("ok"); //对应到 /WEB-INF/pages/ok.jsp
modelAndView.addObject("name","梁"); //在model中放入的数据 k-v
return modelAndView;
}
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>ok页面</h1>
name:${requestScope.name}
</body>
</html>
浏览器地址栏输入 http://localhost:8080/springmvc/debug/springmvc
回车
1.发出url请求

2.调用处理器映射器


3.返回处理器执行链
分发


4.调用处理器适配器

5.调用Handler

两下 Step Into

再 Step Into

再 Step Into

下个断点

放行

一直往下走
67.返回ModelAndView



8.调用视图解析器

Step Into

Step Into

两次Step Into
9.返回View



10.视图渲染

两次Step Into

两次Step Into
11.返回响应
