1.流程理解:
1)用户发送请求,由DispatcherServlet拦截,需要在web.xml中配置DispatcherServlet拦截器,如图所示。

2)拦截获取请求后,交给处理器映射器,由它来找到动作执行类Controller,并返回Controller对象。

3)前端控制器获取对象后,把对象和请求执行的方法传给处理器适配器(SimpleControllerHandlerAdapter),执行Action并返回ModelAndView对象

4) 把ModelAndView对象传给视图解析器ViewResolver,获取物理视图,传回给前端控制器。
5)控制器把视图传给用户。
2.spring mvc的三个处理器映射器:
1)BeanNameUrlHandlerMapping :通过bean的name属性来访问controller。
2)SimpleUrlHandlerMapping : 可以将请求进行集中配置访问controller。
3)ControllerClassNameHandlerMapping:通过bean的类名首字母小写来访问controller。
3.spring mvc 的两个处理器适配器:
1)SimpleControllerHandlerAdapter : springmvc默认的处理器适配器,在没配置的时候使用这个。用来处理继承了Controller接口的controller类

2)HttpRequestHandlerAdapter:用来处理继承了HttpRequestHandler接口的controller类。

4. GET和POST请求的区别:一般情况下,ajax和html的form表单提交都是GET请求,其余的url请求都是GET请求。
5.springmvc 注解方式:
1)在配置文件中加入注解方式的适配器和映射器,同时添加<context:component-scan base-package=""></context: component-scan>加入spring的扫描功能。
2)在类上面加入 @controller 注解,表示这是一个控制器。在方法上加入@RequestMapping("name属性") 添加动作和动作名称。
7.struts2 和springmvc的区别:
- struts2底层基于过滤器,虽然过滤器底层也是Servlet。springmvc底层直接使用servlet。
- struts2基于属性进行封装,而springmvc基于方法进行封装,更细。
- struts2是多例子,而springmvc是单例,速度更快。
8.springmvc参数回显
1)springmvc通过model对象进行参数回显。
2) restfull风格开发:在web.xml中配置<url-pattern>/rest/*</url-pattern> 在requestmapping 的value属性里配置。在参数配置加入注释:@PathVariable
3)转发&重定向:Return:"foward: list.do" Return:"redirect: list.do"重定向改变url值,转发不改变url的值。