目录
大多使用java语言开发的应用系统,基本上都是基于框架开发的。
MVC框架模式
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,即 模型(Model)—视图(View)—控制器(Controller)。常见的MVC框架有:Struts、Spring、SpringMVC等。
把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller):
- 模型(Model):业务功能编写(例如算法实现)、数据库设计以及数据存取操作实现。模型是应用程序的主体部分。模型代表了业务数据和业务执行逻辑。当数据发生变化时,负责通知视图部分。一个模型可以同时为多个视图提供数据,由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
- 视图(View):负责界面显示,使用的开发语言为jsp、js、html+css等。视图是用户看到并与之交互的页面,视图向客户显示相关的业务数据,并能接收用户的输入。视图层并不执行实际的业务逻辑,也不改变数据模型。它能接收模型发出的数据更新请求,从而对用户界面进行同步更新;
- 控制器(Controller):负责转发请求,对请求进行处理。主要用于前端web请求的分支,调度后台的业务逻辑执行,可以通过继承Struts的Action实现。当web用户单击web页面中的提交按钮来发送html表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据;
MVC开发模式的数据走向
- Web浏览器发送HTTP请求到服务端,被Controller(Servlet)控制器获取并进行处理(例如参数解析、请求转发)
- Controller(Servlet)控制器调用核心业务逻辑——模型(Model)部分,获得结果
- Controller(Servlet)控制器将Model返回的处理结果交给 View(JSP)
- View视图层将动态生成的HTML内容返回到浏览器显示
标准的MVC模式并不包含数据访问层,但是在实际开发过程中,通常需要专门的数据连接池和统一的数据访问接口对接数据库,所以ORM框架开始普及。
ORM框架模式
ORM模式(Object Relational Mapping),即对象关系映射。是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。常见的ORM框架有:Hibernate(Nhibernate)、iBATIS、mybatis、EclipseLink、JFinal。
此框架中主要涉及的文件如下:
- 映射类(*.java):它的作用是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象。
- 映射文件(*.hbm.xml):它的作用是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等。
- 数据库配置文件(*.properties或*.cfg.xml):它的作用是指定与数据库连接时需要的连接信息,比如连接哪中数据库、登录用户名、登录密码以及连接字符串等。
SSH框架集
SSH是Structs、Spring和Hibernate的集成框架。汇集了Strut2的MVC模式,Sping的IOC容器和AOP,Hibernate的ORM。
SSH框架分为3层:控制层、业务层、持久层。Structs为控制层,负责处理页面请求,转发请求;Spring为业务层,起控制管理作用,控制反转(IOC或DI),面向切面(AOP)等等,降低层与层之间的耦合度,更好的面向接口编程;Hibernate为持久层,主要负责与数据库的交互(增删改查操作)。以下是SSH框架的流程图:
SSM框架集
SSM是Spring、SpringMVC和MyBatis的集成框架,将SSH框架集中的Struts替换成SpringMVC,将Hibernate替换成MyBatis。和SSH框架相同,SpringMVC为控制层、Spring为业务层、MyBatis为持久层。以下是SSM框架的流程图: