Spring MVC处理请求的全过程大致如下:
- 用户发送请求到前端控制器(DispatcherServlet)。
- DispatcherServlet接收请求并处理。
- DispatcherServlet查询处理器映射器(HandlerMapping)找到处理请求的控制器(Controller)。
- DispatcherServlet请求处理器适配器(HandlerAdapter)执行找到的控制器。
- 控制器(Controller)进行业务逻辑处理,返回ModelAndView对象。
- HandlerAdapter将Controller执行结果的ModelAndView对象返回给DispatcherServlet。
- DispatcherServlet将ModelAndView传给视图解析器(ViewResolver)进行解析。
- ViewResolver解析后返回具体View。
- DispatcherServlet对View进行渲染也就是将模型数据填充至视图中。
- DispatcherServlet响应用户。
以下是一个简单的Spring MVC控制器示例:
@Controller
public class ExampleController {
@RequestMapping(value = "/example", method = RequestMethod.GET)
public ModelAndView handleRequest() {
ModelAndView mav = new ModelAndView();
mav.setViewName("exampleView");
mav.addObject("message", "Hello, Spring MVC!");
return mav;
}
}
在这个例子中,当请求发送到/example
时,Spring MVC的处理过程将会执行handleRequest
方法,并最终返回名为exampleView
的视图,同时在模型中添加一个名为message
的属性,其值为Hello, Spring MVC!
。