springMVC核心源码解析 ---请求执行流程,前后端分离场景一看就懂
Spring MVC的请求执行流程大致如下:
- 用户发送请求至前端控制器(DispatcherServlet)。
- DispatcherServlet接收请求并处理。
- 处理器映射器(HandlerMapping)查找处理器(Handler),即Controller。
- 处理器适配器(HandlerAdapter)执行Controller。
- Controller执行完成后返回ModelAndView。
- 处理器适配器将Controller执行结果ModelAndView返回给DispatcherServlet。
- DispatcherServlet将ModelAndView传递给视图解析器(ViewResolver)。
- ViewResolver解析视图并返回真正的视图。
- DispatcherServlet对视图进行渲染,即将模型数据填充至视图模板。
- DispatcherServlet响应用户。
以下是一个简单的Spring MVC Controller示例:
@Controller
public class MyController {
@RequestMapping("/hello")
public ModelAndView helloWorld() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("hello");
modelAndView.addObject("message", "Hello World!");
return modelAndView;
}
}
在这个例子中,当请求发送到 /hello
时,Spring MVC 处理请求,执行 helloWorld()
方法,该方法返回一个包含视图名称和模型数据的 ModelAndView
对象。视图名称 "hello"
随后被视图解析器解析,并渲染输出响应。
评论已关闭