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