SpringMVC是一个web底层框架,用来简化我们获取客户端传来数据的方式和简化返回数据的。它的底层源码也看过,了解那么一点,首先来说一下它的底层原理。
底层原理:
用户向服务器发送请求,请求被前端控制器DispatcherServet截获,请求查询Handler,调用处理器映射器HandlerMapping,根据xml配置和注解找到具体的Handler,底层源码是通过一个doService()方法,在这个方法里面还调用了另一个方法doDispatcher(),在这个方法里面,根据发送过来的请求路径,利用for循环查询相匹配的handle,返回一个处理器执行链(包括请求要处理的handler对象和方法)给前端控制器DispatcherServlet,DispatcherServlet调用HandlerAdapter处理器适配器找到controller层,也就是控制器,再调用service层进行业务的处理,执行完返回一个ModleAndView,然后再请求解析视图,DispatcherServlet将ModleAndView传给ViewReslover视图解析器,解析后返回具体的View对象,DispatcherServlet根据View进行视图渲染(将Modle填充至View),最后以jsp或者freemaker的前台页面形式响应用户。
具体的一些应用:
@Controller注解,表示该类为控制层
@Service注解,该类为业务处理层
@requestMapping注解,对请求路径进行管理