SpringMVC概述
1.1 SpringMVC基本说明
- SpringMVC是基于spring的,是spring中的一个模块,做web开发使用的。springmvc叫做spring MVC说明他是spring的核心技术,做web开发,springmvc内部是使用MVC架构模式。
- springmvc是一个容器,管理对象的,使用IOC核心技术。springmvc管理界面层中的控制器对象。
- springMVC底层也是Servlet。以Servlet为核心,接受请求,处理请求,显示处理结果给用户。
处理用户的请求:
用户发起请求----springMVC---spring---MyBaatis---mysql数据库
1.2 SpringMVC中的核心Servlet -- DispatcherServlet
DispatcherServlet是框架一个Servlet对象。负责接受请求,响应处理结果
DispatcherServlet他的父类是HttpServlet
DispatcherServlet也叫做前端控制器(front controller)
SpringMVC是管理控制器对象,原来没有SpringMVC之前使用Servlet作为控制器对象使用,现在通过SpringMVC容器创建一个叫做控制器的对象,代替Servlet行使控制器的角色和功能。
步骤:
- HandlerMapping为处理器映射,DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler
- HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找控制器为:hello
- HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等
- HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler
- Handler让具体的Controller执行
- Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView
- HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet
- DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名
- 视图解析器将解析的逻辑视图名传递给DispatcherServlet
- DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图
- 最终视图呈现给用户
控制器Controller
- 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。
- 控制器负责解析用户的请求并将其转换为一个模型。
- 在Spring MVC中一个控制器类可以包含多个方法
- 在SpringMVC中,对于Controller的配置方法有很多种