SpringMVC可以说是Servlet的封装,屏蔽了Servlet的很多细节,比如Servlet再获取参数的时候需要不停地getParameter,现在只要在SpringMVC方法定义的JavaBean,只要属性和参数名一致,SpringMVC就可以帮我们实现将参数封装到JavaBean上了。
Spring总体的执行流程
- 浏览器发送请求到前端控制器中;
- HandkerMapping识别到当前请求路径,找到对应的handler返回handerChain,其中包含handler和拦截器;
- HandlerAdapter执行handerChain,依次执行拦截器和handler,并完成请求参数封装,和响应中的json格式互换,最终返回ModelAndView;
- ViewResolver根据ModelAndView解析出一个对象;
- View完成请求的转发和重定向;
- JSP,视图层,渲染数据html中,并将渲染完毕的html内容,输出给浏览器,完成响应。
PS: 前端控制器(入口):SpringMVC的一切行为都有它调度、HandlerMapping(映射器)