开发步骤:
1.在web.xml文件中定义前端控制器DispatcherServlet来拦截用户请求
2.如果需要以POST方式提交请求,则定义包含表单数据的JSP页面。如果仅仅是以GET方式发送请求,则无须经过这一步
3.定义处理用户请求的Handle类,可以实现Controller接口或者使用@Controller注解
4.配置Handler,即配置哪个请求对应哪个Controller进行处理
5.编写视图资源
SpringMVC请求->响应工作流程(对开发者不可见,只需在Handler(Controller)中完成对请求的业务处理):
1.用户向服务器发送请求,请求被Spring前端控制器DispatcherServlet截获
2.DispatcherServlet对请求URL(统一资源定位符)进行解析,得到URI(请求资源标识符)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关对象,包括Handler对象以及Handler对象对应的拦截器,这些对象会被封装到一个HadnlerExecutionChain对象当中返回
3.DispatcherServlet根据获得的Handler,选择一个合适的HandlerAdapter(符合面向对象的单一职责原则)。HandlerAdapter会被用于多种Handler,调用Handler实际处理请求的方法
4.提取请求中的模型数据,开始执行Handler(Controller)
5.Handler执行完成后,向DispatcherServlet返回一个ModerlAndView对象,ModelAndView对象中应该包含视图名或视图名和模型
6.根据返回的ModelAndView对象,选择一个合适的ViewResolver(视图解析器)返回给DispatcherServlet
7.ViewResolver结合Model和View来渲染视图
8.将视图渲染结果返回给客户端