##springmvc
(1)springmvc:
springmvc是一个基于Java实现了mvc设计模式的请求驱动类型的轻量级web框架,通过把model,view,controller分离,将web层进行职责解耦将复杂的web应用分成几个逻辑清楚的几个部分,简化开放,减少出错,方便组内开放人员之间配合;
(2) 优点:支持多种视图技术,不仅仅是jsp
能快速与一些常用框架集成,如spring,mybatis
角色分配明确:前端控制器,处理器映射器,处理器适配器,视图解析器
支持多种请求资源的映射策略
(3)springmvc与struts的区别:
springmvc的请求入口是前端控制器,struts的请求入口是过滤器filter
springmvc是基于方法实现的,一个路径url对应一个方法,所以一般来说是采用单列模式;struts是基于类来开放的,传递参数是通过类的属性,所以只能为多列的;
(4) springmvc中设置重定向以及转发:
重定向:返回值前面加“forward:”
转发:返回值前面加“redirect:”
(5)springmvc的执行流程:
a.前端控制器接收到请求,调用一个处理器映射器,把请求分配给处理器映射器;
b.处理器映射器根据请求的具体url生成处理器对象和拦截器对象,并返回给前端控制器;
c.前端控制器调用一个handler处理器处理请求;
d.处理器处理完请求,生成modelandview对象,并返回给前端控制器;
e.前端控制器调用视图解析器处理modelandview对象,并返回view给前端控制器;
f.前端控制器对view进行页面的渲染,返回给页面展示