一:springMVC的工做原理web
1.用户发出请求,到DispatcherServlet[前段控制器]接受。前段控制器把请求url交给HandlerMapping[请求映射器],HandlerMapping会根据url寻找对应的handler对象,而且把handler对象返回给DispatcherServlet。spring
2.DispatcherServlet把handler对象交给HandlerAdapter[请求处理器适配器],HandlerAdapter根据handler对象执行对应的方法,返回给DispatcherServlet一个ModelAndView逻辑视图对象mvc
3.DispatcherServlet把ModelAndView对应交给ViewResolver[视图解析器],ViewResolver把逻辑视图解析为物理视图view,而且把view返回给DispatcherServletapp
4.DispatcherServlet吧view对象响应给用户jsp
二:springMVC的配置:url
1.在web.xml中配置DispatcherServlet核心分配器:spa
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 默认加载方式
默认加载必须规范:
* 文件命名:servlet-name-servlet.xml====springmvc-servlet.xml
* 路径规范:必须在WEB-INF目录下面
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>xml
2.建立springmvc.xml配置文件,对象
2.1配置handlerMapping处理器映射器接口
其中handlerMapping处理器映射器有三种:
1.BeanNameUrlHandlerMapping:默认的映射器。【根据bean(自定义Controler)的name属性的url去寻找hanler(Action:Controller)】
2.SimpleUrlHandlerMapping: 简单的映射器。【把Url进行集中配置】
3.ControllerClassNameHandlerMapping 【经过类名.do 形式来访问controller】
2.2配置HttpRequestHandlerAdapter [处理器适配器]。其中处理器适配器有两种:
1.SimpleControllerHandlerAdapter 【springmvc默认的SimpleControllerHandlerAdapter:执行Controller】
2.2.HttpRequestHandlerAdapter【HTTP请求处理器适配器:将http请求封装成HttpServletResquest 和HttpServletResponse对象,和servlet接口相似】
总结:适配器能够共存,只是控制器实现不一样的接口使用不一样的适配器而已。
注意:SimpleControllerHandlerAdapter是默认的适配器。若是使用后面这个适配器必须手动配置。不然将会访问失败。
3.配置视图解析器【InternalResourceViewResolve:解析逻辑试图 后台返回逻辑试图:index 视图解析器解析出真正物理视图:前缀+逻辑试图+后缀====/WEB-INF/jsps/index.jsp】
4.配置对应的controller在springmvc.xml中的<bean>