4.2 SpringMVC的核心组件SpringMVC通过前端控制器(DispatcherServlet)拦截并处理用户请求
- DispatcherServlet 前端控制器、总控制器
- 由SpringMVC提供,无需工程师开发
- 作用:接收请求,协同各组件工作,响应请求
- HandlerMapping 处理器映射器
- 可配置 SpringMVC提供了多个处理器映射的实现,可以根据需要进行配置
- 也是由SpringMVC提供
- 作用:负责根据用户请求的url,找到对应的Handler
- HandlerAdapter 处理器适配器
- 作用:按照处理器映射器解析的用户请求的调用链,通过适配器模式完成Handler的调用
- Handler 处理器(控制器)
- 由工程师根据业务的需求进行开发
- 作用:处理请求
- ModelAndView 视图模型
- 作用:用于封装处理器返回的数据以及相应的视图
- ModelAndView = Model + View
- ViewResolver 视图解析器
- 可配置 SpringMVC提供了多个处理器映射的实现,可以根据需要进行配置
- 作用:对ModelAndView进行解析
- View 视图
- 作用:完成数据渲染
不同的处理器映射器对URL处理方式也不相同,使用对应的处理器映射器之后,前端请求规则也需要发生相应的变化
SpringMVC提供的处理器映射器
- BeanNameUrlHandlerMapping 根据控制器的ID来访问控制器
- SipmpleUrlHandlerMapping 根据控制器配置的URL访问(默认)
配置处理器映射器:
- 在SpringMVC的配置文件中通过Bean标签的声明处理器映射器
- 配置BeanNameUrlHandlerMapping,根据Controller的名字进行访问
- SipmpleUrlHandlerMapping ,根据Controller的路径进行访问
默认是这种方式的HandlerMapping,根据配置的路径来访问 “/aaa”相当于@RequestMapping("/aaa")
bookController
4.4 视图解析器
SpringMVC提供了多个视图解析器
- UrlBasedViewResolver
- InternalResourceViewResolver
-
UrlBasedViewResolver 需要依赖jstl
- 添加jstl的依赖
javax.servlet jstl1.1.2 - 配置视图解析器
-
InternalResourceViewResolver



