zoukankan      html  css  js  c++  java
  • SpringMVC学习系列(1) 之 初识SpringMVC

    原文 http://www.cnblogs.com/liukemng/p/3724379.html

    1.前言:

    与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题。由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论坛。找不到windows虚拟主机,且肯定不能换朋友主机的系统。刚开始时打算用mono把之前做的.Net MVC项目搭的框架运行一下看看能不能用,发现根本跑不起来(项目用了Spring.NET当时mono和Spring.NET还不兼容,Sping.NET论坛说是由于mono的反射实现机制的问题。好消息是最新的Spring.NET项目已经支持mono,虽然官网上说还有一些bug,但这相对于之前完全不能运行已经好太多了,相信以后会越来越好。详见SPRING-NET-MONO可能需要翻墙,你懂的…)。

    于是决定选择用java开发,最先开始看的是经典的SSH框架的一些资料,为此还特意买了一本书做参考,可没看多少就有疑问了,让我最不能接受的就是Struts2的一个action一个class的做法(评论中已经有朋友指出Struts2也可以实现多个Action方法的,非常感谢指正)。按照这种做法要实现一个对象的CURD基本操作就要4个class,而且java的一个class只能属于一个class文件,这样下来一个项目光action就要生成一堆class文件,而且文件里面只有一个action没有多少内容,太啰嗦了,感觉这样开发效率很低(以上感受仅是我当时看struts2是的感觉,如有不对的地方敬请批评指正),所以决定更换其它方式。恰好看到了Spring3的 Spring MVC的介绍,基于注解的controller,还有action的声明方式像极了.Net MVC,当即决定采用,于是便有了该系列文章。

    约定:本系列所用的Spring版本为:spring-framework-3.2.5.RELEASE,Hibernate版本为hibernate-release-4.2.8.Final,采用Spring+Hibernate+Spring MVC的组合方式。

    2.什么是Spring MVC:

    Spring MVC属于SpringFrameWork的后续产品,它提供了构建 Web 应用程序的全功能 MVC 模块,与Struts2一样是一种优秀MVC框架,不同的是自Spring2.5引入了注解式controller及Spring 3以后的不断完善,使得采用Spring MVC框架开发结构清晰明了,效率大大提高。

    3.注解式Spring MVC响应流程:

    绘图1

    4.重要的接口和类的简单说明:

    DispatcherServlet:前端控制器,用于接收请求。

    HandlerMapping接口:用于处理请求的映射。

    DefaultAnnotationHandlerMapping:HandlerMapping接口的实现,用于把一个URL映射到具体的Controller类上。

    HandlerAdapter接口:用于处理请求的映射。

    AnnotationMethodHandlerAdapter:HandlerAdapter接口的试下,用于把一个URL映射到对应Controller类的某个方法上。

    ViewResolver接口:用于解析View。

    InternalResourceViewResolver:ViewResolver接口的实现,用于把ModelAndView的逻辑视图名解析为具体的View。

  • 相关阅读:
    【Codeforces 349B】Color the Fence
    【Codeforces 459D】Pashmak and Parmida's problem
    【Codeforces 467C】George and Job
    【Codeforces 161D】Distance in Tree
    【Codeforces 522A】Reposts
    【Codeforces 225C】Barcode
    【Codeforces 446A】DZY Loves Sequences
    【Codeforces 429B】Working out
    【Codeforces 478C】Table Decorations
    【Codeforces 478C】Table Decorations
  • 原文地址:https://www.cnblogs.com/yixianyixian/p/3796154.html
Copyright © 2011-2022 走看看