一. SpringMVC概述及原理
1. SpringMVC是什么
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等。
SpringMVC 已经成为目前最主流的 MVC 框架之一, 从 Spring3.0 的发布, 就已全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful 编程风格的请求。
2. MVC和三层架构
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
控制器(Controller):Servlet,控制器主要处理用户的请求
视图(View):HTML, JSP, 前端框架
模型(Model):逻辑业务程序(后台的功能程序), Service, Dao, JavaBean
JavaWEB发展史
Model1
Model2 第一代
JSP Model2有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但JSP还是把view和controller的业务耦合在一起。依然很不理想。
Model2 第二代(三层架构)
Model2第二代就是现在大力推广的和使用的mvc,将一个项目划分为三个模块,各司其事互不干扰,既解决了jsp所形成的耦合性,又增加了逻辑性、业务性以及复用性和维护性
表示层(web层):包含JSP,Servlet等web相关的内容
业务逻辑层(Service):处理业务,不允许出现servlet中的request、response。
数据层(Data Access Object):也叫持久层,封装了对数据库的访问细节。
其中 web层相当于mvc中的view+controller,Service层和dao层相当于mvc中的model。
3. SpringMVC 在三层架构的位置
MVC模式:(Model-View-Controller):为了解决页面代码和后台代码的分离.