web应用常见的层级结构如下:
Spring MVC的层次关系如下:
Spring MVC为web层提供了org.springframework.web.servlet.mvc.Controller及其子类负责接收HttpServletRequest和HttpServletResponse,执行一些操作后再交给界面展示层。
JSP,Velocity,Freemaker和XSLT都可以做界面展示,Spring MVC在界面展示最主要的接口是org.springframework.web.servlet.View(呈现单独页面)和org.springframework.web.servlet.view.InternalResourceViewResolver(提供视图和逻辑关系的映射),将用于处理Controller的返回与界面展示的映射关系。
commons-logging.jar是Spring唯一依赖的外部jar包。Spring的jar包间的依赖关系如下:
Spring MVC调度次序如下所示,HomeController是Controller的一个实例,FlightService是一个Service的实例。
Spring MVC的客户响应处理流程:
基于Spring MVC 的MVC模型结构:
使用上面所列的处理映射器需要在xml中配置类所对应的bean。如果没有配置,则DispatcherServlet自动创建BeanNameURLHandlerMapping和DefaultAnnotationHandlerMapping。DefaultAnnotationHandlerMapping将支持使用@Controller,@RequestMapping注解方式来进行Spring MVC的开发。
需要加上<mvc:annotation-driven/>才能正常的使用@Controller,@RequestMapping注解。