首先springmvc就是spring的一个模块,所以他们本来就是一体的,这也就是说无需整合,直接就可以用。
那么springmvc是什么呢?其实springmvc就是一个管理web与后端之间通信的框架。
1.首先用户通过HTTP请求到服务器,服务器会根据你的url来将请求转到不同的控制器Controller。
这个过程的细节是:请求到前端控制器(DispatcherServlet),根据web.xml中的规则进行拦截,即调用handlermapping查找handler(handler其实就是springmvc生成的一个对象,里面包含了controller里的一个方法,以及其方法执行结束的形参销毁)。得到handler后使用HandlerAdapter调用handler。 ---------总结一下就是把拦截的请求根据规则分发给相应的controller来处理。
2其次调用完hadnler后返回一个ModelAndView,ModelAndView是springmvc的底层对象,然后前端控制器调用视图解析器进行解析返回个view,然后前端控制器开始渲染将模型数据(在ModelAndView对象中)填充到request域,最后前端控制器向用户响应结果。 ----------这个过程就是每个controller里面的定义ModelAndView然后add往前台传的参数,return相对应前端文件的名字。
springmvc的组件:
1、前端控制器DispatcherServlet(不需要程序员开发)
作用接收请求,响应结果,相当于转发器,中央处理器。
有了DispatcherServlet减少了其它组件之间的耦合度。
2、处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的url查找Handler
3、处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
4、处理器Handler(需要程序员开发)
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
5、视图解析器View resolver(不需要程序员开发)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
6、视图View(需要程序员开发jsp)
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)