1.什么是SpringMVC?
SpringMVC是Java开源框架,Java Framework的一个独立模块,M(Model)V(view)C(Controller),是一个轻量级的web开发模块,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的及部分,简化开发,减少出错,方便组内开发人员之间的配合。
2.SpringMVC的工作原理
详细流程:
1.用户发送请求到前端控制器DispatcherServlet
2.DispatcherServlet收到请求,并调用HandlerMapping(处理器映射器)
3.HandlerMapping(处理器映射器)根据xml配置或者注解找到对应的处理器,找到则生成对应的处理器对象及拦截器(如有的话)一并返回给DispatcherServlet
4.DispatcherServlet调用HandlerAdapter(处理器适配器),找到对应的Handler执行
5.执行完成后返回ModelAndView对象给DispatcherServlet
6.DispatcherServlet将ModelAndView发送给视图解析器ViewResolver
7.ViewResolver解析ModelAndView,并返回一个View
8.DispatcherServlet将返回的view进行视图渲染(将对应数据填充到视图模型中)
9.响应用户
3.Handler 和Controller的关系
controller指定的是类,handler指定的类中的一个方法。
一个项目里,可以有多个Controller 。一个Controller里,可以有多个Handler。
在项目中,@Controller :声明这个类是一个Controller ,@RequestMapping("/welcome.do"):声明这个方法是一个Handler,当有/welcome.do请求时,分发给它处理。