MVC模型概述
-
web.xml配置Servlet为Spring,启动时会调用Servlet的init方法,DispatchServlet通过实现Servlet的方法,和模板方法来从而加载Spring的配置
-
请求到达时,Web容器调用Servlet的service方法,通过实现接口,和模板方法,最终会执行DispatchServlet的doService方法:
·第一步 通过handlerMapping拿到HandlerExecuteChain,里面包含一个Handler处理器和多个处理器拦截器;第二步包装成HandlerAdapte;第三步执行HandlerAdapter的handle方法(即相应Controller的方法)返回ModelAndView;第四步ViewResolver进行页面渲染和模型数据插入最后返回响应。 -
@RequestParam 请求参数到处理器方法参数的绑定
@ModelAttribute 请求参数到命令对象的绑定
@PathVariable URI的模板变量到处理器方法参数的绑定
@RequestPart 提供对“multipart/form-data ” 请求的全面支持,支持 Servlet 3.0 文 件 上 传(javax.servlet.http.Part)、 支持内容的 HttpMessageConverter(即根据请求头的Content-Type,来判断内容区数据是什么类型,如 JSON、XML,能自动转换为命令对象),比@RequestParam更强大(只能对请求参数数据绑定,key-alue格式),而@RequestPart支持如JSON、XML内容区数据的绑定; -
<mvc:annotation-dirven>: 自动注册基于注解风格的处理器需要的DefaultAnnotationHandlerMapping、AnnotationMethodHandlerAdapter 支持Spring3的ConversionService自动注册 支持JSR-303验证框架的自动探测并注册(只需把JSR-303实现放置到classpath) 自动注册相应的HttpMessageConverter(用于支持@RequestBody 和 @ResponseBody)(如 XML输入输出转换器(只需将JAXP实现放置到classpath)、JSON输入输出转换器(只需将Jackson实现放置到classpath))等。
网友评论