了解spring MVC之前先了解下MVC是指什么:
MVC是一种设计模式
M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互,在Java Web中被认为是JavaBean
V 即View(视图层),主要用于显示数据和提交数据
C 即Controller(控制器),主要是用作捕获请求并控制请求转发
具体SpringMVC执行原理如图:
图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提供的技术,不需要开发者实现,虚线表示需要开发者实现。
简要分析执行流程
DispatcherServlet表示前置控制器,配置在web.xml文件中的,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求,Servlet拦截匹配规则要自己定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理,是配置spring MVC的第一步
我们假设请求的url为 : http://localhost:8080/SpringMVC/hello
如上url拆分成三部分:
-
http://localhost:8080服务器域名
-
SpringMVC部署在服务器上的web站点
-
hello表示控制器
通过分析,如上url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器
- DsiparcherServlet接受用户发出的请求并拦截请求
- DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler
- HandlerExecution表示具体的Handler ,其主要作用是根据url查找控制器,再将解析后的信息传递给DispatcherServlet
- DispatcherServlet调用 HandlerAdapter 处理器适配器 ,按照特定规则去执行Handler,让具体的Controller执行,再将具体的执行信息返回给HandlerAdapter ,如 ModelAndView , 然后HandlerAdapter再将视图逻辑名或模型传递给DispatcherServlet
- DispatcherServlet调用ViewResolver视图解析器来解析HandlerAdapter传递的逻辑视图名,解析后传回给DispatcherServlet
- DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图,并最终将视图呈现给用户
使用注解开发:
实现步骤其实非常的简单:
- 新建一个web项目
- 导入相关jar包
- 编写web.xml , 注册DispatcherServlet
- 编写springmvc配置文件
- 接下来就是去创建对应的控制类 , controller
- 最后完善前端视图和controller之间的对应
- 测试运行调试.
使用springMVC必须配置的三大件:
处理器映射器、处理器适配器、视图解析器
通常,我们只需要手动配置视图解析器,而处理器映射器和处理器适配器只需要开启注解驱动即可,而省去了大段的xml配置