原生servlet处理请求:
请求从客户端发送到服务器,服务器根据表单提供的映射地址去web.xml里面寻找配置的映射地址所对应的servlet。对应的servlet执行doservice方法,进行数据库操作,即通过service将数据封装到javaBean中,再取得数据对数据库执行sql命令,或者对数据库操作将返回的数据封装到javaBean中,并将javaBean中的数据通过res,resp等对象传递,返回数据或者跳转页面。整个流程是servlet(control控制C)到javabean(Model模型M)到View(视图V),基于servlet+jsp+javabean的模式,就是一个基于mvc架构的。比较早的架构还有servlet+jsp(但是jsp过于臃肿),JSF+ELB+Xhtml.
springmvc、springboot的请求处理方式是一样的,只不过springboot隐藏了细节而已,底层还是和spring mvc是一样的。
spring mvc处理请求:
请求(映射地址)从客户端发送到服务器,服务器中的DispatcherServlet捕获请求,并在HandlerMapping中寻找哪个Handler(即controller中的方法) 可以处理这个映射对应的请求,找到了这个Handler之后,为这个Handler寻找一个支持此Handler的适配器HandlerAdapter,最后通过这个适配器HandlerAdapter来调用Handler,调用过程中还进行了一系列操作,比如最后返回ModelAndView数据和视图