`

SpringMVC学习(1):初识SpringMVC

阅读更多

1.前言:

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

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

 

从一个从事java开发的人来看,springMVC跟struts2更加相似。

 

约定:本系列所用的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。

 

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

分享到:
评论

相关推荐

    初识SpringMVC以及springmvc基本应用入门案例彩色PPT版本.pptx

    通过学习 SpringMVC,我们可以更好地理解 Web 应用的开发模式,掌握如何利用其优势提高开发效率。SpringMVC 的灵活性允许我们轻松地集成其他技术,如 AJAX 异步调用,以实现更复杂的前端交互。通过实践这些基础案例...

    初识SpringMVC

    **初识SpringMVC** SpringMVC是Spring框架的一个模块,专为构建Web应用程序而设计。它是一个基于模型-视图-控制器(MVC)架构的轻量级Java Web开发框架,提供了处理HTTP请求和响应的强大功能。在本文中,我们将深入...

    SSM笔记-SpringMVC REST风格、基本标签初识

    1. **REST原则** - 统一接口:REST接口应具有统一的格式,通常使用HTTP方法(GET、POST、PUT、DELETE等)来表示操作。 - 状态转换:每个请求都包含完成操作所需的所有信息,服务器不保存客户端状态。 - 资源导向...

    springMVC教程

    **初识 SpringMVC** 在 Web 开发领域,MVC 设计模式被广泛采用,它将业务逻辑(Model)、用户界面(View)和数据处理(Controller)分离,提高了代码的可维护性和可复用性。SpringMVC 提供了一套完善的解决方案,...

    (第十一天)初识SpringMVC SSM框架的学习与应用-Java EE企业级应用开发学习记录

    本资源介绍了一个基于Spring MVC框架的Web应用项目,旨在帮助开发者和学习者了解和掌握Spring MVC的核心概念、组件以及如何构建Web应用程序。无论您是初学者还是有经验的开发者,这个资源都将为您提供有关Spring MVC...

    SSM框架的学习与应用-Java EE企业级应用开发学习记录-(第六天)初识Spring框架

    本资源是一篇关于学习和应用SSM框架(Spring、SpringMVC、MyBatis)的学习记录系列文章中的第六天内容,主题为初识Spring框架。 在这一部分中,你将了解到Spring框架的基本概念和使用方法,并通过实例探讨了Spring ...

    Spring框架、SpringMVC框架、Maven高级(缺)、SpringBoot框架、MyBatis-Plus框架

    1.1 初识 Spring,我们了解到 Spring 是为了简化企业级 Java 应用程序的开发而设计的,它通过提供一种声明式编程模型,减少了代码量和耦合度。 1.2 Spring 系统架构主要包括四个主要模块:Core Container(核心容器...

    01Spring初识.pdf

    Spring框架是Java开发领域非常著名的开源框架,它的初识主要可以分为两个部分:框架的基本概念和Spring框架的设计理念。 首先,从框架的基本概念来看,它是由一系列类和接口组成的集合,这些类和接口协调工作以完成...

    初识MyBatis及基本应用彩色PPT版本.pptx

    学习MyBatis时,可以通过实际项目练习,结合SSM(Spring、SpringMVC、MyBatis)框架进行综合应用,提升开发效率。此外,还可以借助CSDN、SegmentFault、菜鸟教程等在线资源进行深入学习,并利用Markdown、思维导图等...

    大数据培训课程安排.pdf

    第五阶段: 初识⼤数据 1. 难易程度:三颗星 2. 课时量(技术知识点+阶段项⽬任务+综合能⼒):80课时 3. 主要技术包括:⼤数据前篇(什么是⼤数据,应⽤场景,如何学习⼤数据库,虚拟机概念和安装等)、Linux常见...

    项目二总结-詹迪1

    在项目中,由于初识JSON,可能在实现物料信息功能时出现了错误,但经过学习和修正,理解了正确使用JSON进行数据传递的方法。 **多表连接查询**:在数据库设计中,多表连接查询是处理复杂业务逻辑的关键。当需要从多...

    基于SSM框架+mysql,采用分布式架构的移动电子商城项目源码.zip

    1. **负载均衡**:为了分发请求,可能使用了Nginx或HAProxy等负载均衡器,使得多台服务器能够共同处理用户请求,提高系统的可用性和响应速度。 2. **分布式缓存**:可能引入了Redis或Memcached来缓存热点数据,减少...

    Java项目之基于ssm框架的课程在线教育资源管理系统(1)(附源码).zip

    总的来说,这个项目适合Java和SSM框架的学习者,通过实际操作和研究,可以深入理解SSM框架的集成应用,掌握如何构建一个完整的在线教育资源管理系统,包括用户管理、资源上传、分类检索等功能。同时,对于JSP的使用...

    baoxin-generator_11-35-40.zip

    1. `.gitignore`:这是一个版本控制系统Git的配置文件,用于指定应当忽略的文件或目录,防止不必要的文件被添加到版本库中。 2. `baoxin-generator.iml`:这是IntelliJ IDEA项目配置文件,包含了项目的模块信息,有...

    基于JSP+SSM的停车场管理系统项目实战(源码+说明).zip

    《基于JSP+SSM的停车场管理系统项目实战详解》 ...总之,"基于JSP+SSM的停车场管理系统项目实战"是一个全面展示Java Web开发技术的优质案例,无论对于初学者还是经验丰富的开发者,都能从中获得宝贵的学习和实践经验。

    java缴费源码-opengis-lecture:opengis-讲座

    3.基于springMVC的项目搭建 4.postGIS空间库基本操作 5.geoserver基本操作 6.初识Geotools 7.OL中的Map和View 课程简介 李白有诗云“烟花三月下扬州”,辛弃疾有诗道“正值春光二三月”。可见三月是个好时光,告别二...

    java1000题基础百战程序员

    - **初识Java** - Java的历史和发展背景 - Java的特点:平台无关性、面向对象、安全性等 - Java开发环境的搭建:JDK安装与配置 - Hello World程序编写 - **数据类型和运算符** - Java的基本数据类型(整型、...

Global site tag (gtag.js) - Google Analytics