关闭

SpringMVC刘宝宝深度版

标签: springMVC深度解析
1498人阅读 评论(0) 收藏 举报
分类:

一概念:

        springMVC是spring框架的一个模块,springMvc比 struts2更加高效,
        spring mvc采用松散耦合可拔插结构比其他mvc框架更具扩展性

二优点:

      1、Spring MVC的学习难度小于Struts2,Struts2用不上的多余功能太多。这不是决定因素。

      2、Spring MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)

      3、Spring MVC的灵活是你无法想像的,Spring的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。

三工作原理:

     1.核心类与接口

DispatcherServlet   -- 前置控制器    

HandlerMapping接口 -- 处理请求的映射

HandlerMapping接口的实现类:

SimpleUrlHandlerMapping  通过配置文件,把一个URL映射到Controller

DefaultAnnotationHandlerMapping  通过注解,把一个URL映射到Controller类上

HandlerAdapter接口 -- 处理请求的映射

AnnotationMethodHandlerAdapter类,通过注解,把一个URL映射到Controller类的方法上

Controller接口 -- 控制器

由于我们使用了@Controller注解,添加了@Controller注解注解的类就可以担任控制器(Action)的职责,所以我们并没有用到这个接口

HandlerInterceptor 接口--拦截器,我们自己实现这个接口,来完成拦截的器的工作。

ViewResolver接口的实现类

UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理

InternalResourceViewResolver类,比上面的类,加入了JSTL的支持

View接口

JstlView类

LocalResolver接口

HandlerExceptionResolver接口 --异常处理

SimpleMappingExceptionResolver实现类

ModelAndView类

     2.SpringMVC的流程图:

    

    2.文字通过流程图进行流程描述(十全十美法则):

      1. 用户发送请求给Tomcat,tomcat调用前端控制器DispatcherServlet,

      2.通过handleMapping接口,去处理请求映射,

      3.handleMapping接口,找相对应的Controller,有两种情况【4和5】

      4.没有,就不执行,

      5.有,就执行,

      6.执行完毕后,有两种情况【7和8】

      7.返回ModelAndView对象,里面包含视图对象信息,

      8.返回字符串,通过ViewResolver接口的实现类,将字符串转化成视图对象,

      9.把视图数据,发送给前端控制器Dispatcher,

      10.最后响应给客户。

后续更新中。。。。。。。。








1
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4566次
    • 积分:234
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    新浪博客
    http://blog.sina.com.cn/u/1669794657
    最新评论