文档章节

MVC架构和SSH框架对应关系

ruyees
 ruyees
发布于 2014/10/05 11:47
字数 654
阅读 71
收藏 0
MVC三层架构:模型层,控制层和视图层。模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来对数据库进行操作;控制层,用Struts框架来连接数据层和视图层的,接收、处理、发送数据并控制流程;视图层,用JSP模板把页面展现给用户以及提供与用户的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整个架构,提供IOC容器使代码松耦合以及AOP框架的切面功能等等。

    也可以换种说法:我们去饭馆吃饭,摆在我们面前的油淋小白菜就是Jsp呈现的视图,而这道菜怎么来的呢,当然要有小白菜,也就是Hibernate产生的数据,小白菜要洗干净,切好,这是对数据的操作;这些准备好了就要炒小白菜了,这就是Struts的事了。这个过程分工明确,各做各的,有的只负责洗菜,有的只负责炒菜的,Spring就是中间负责跑腿的,让洗菜的和炒菜的都安心做自己的事。最终一道菜就出来了,我们看到的是成品菜,却看不见它被制作的过程。

我举个例子来说明怎么利用SSH框架做菜,当然这里仅仅是一些最简单的示例代码用来做说明:

1.JavaBean类(Model,这里就是买来的小白菜):

public class Building {

private String code;

public String getCode() {
return code;
}

public void setCode(String code) {
this.code = code;
}

}

2.用Hibernite把对象持久化到数据库中(Model,还是小白菜,只不过换个说法,你可以给它随便起个名字,比如说实体小白菜,但其实还是一样的东西)

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Building" table="building">
<id name="id" column="id">
<generator class="uuid"/>
</id>
<property name="code"/>
</class>
</hibernate-mapping>

3.把对数据的访问封装成一个面向对象的接口(Model,洗菜,切菜):

public interface BuildingManager {

List findEntity();

}

4.控制层的处理(Controller,开始炒菜了):

public class BuildingAction extends Action {

public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest req,
HttpServletResponse servletResponse) throws Exception {
List results = entityManager.findItems();
req.setAttribute("buildings",page);
return actionMapping.findForward("list");
}

}

5.jsp视图(View,端上桌的油淋小白菜,这里我就不写示例代码了)。


    至此,我们在MVC清晰明了的架构中,虽然代码简单,却足以勾勒出如何在SSH三大框架的通力合作下实现楼宇列表的显示,小白菜可以吃了。

本文转载自:http://zuoqiang.iteye.com/blog/666605

共有 人打赏支持
ruyees
粉丝 3
博文 71
码字总数 0
作品 0
深圳
产品经理
私信 提问
SSH框架总结(框架分析+环境搭建+实例源码下载)

首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。 集成SSH框架的系统从职责...

亚特兰缇斯
2015/03/04
238
0
SSH框架总结(框架分析+环境搭建+实例源码下载)

首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。 集成SSH框架的系统从职责...

beibugulf
2016/10/08
137
0
SSH框架与MVC架构之间的关系

MVC三层架构:模型层,控制层和视图层。模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来 对数据库进行操作;控制层,用Struts框架来连接数据层和视图层的...

Mr_LGQ
2016/05/26
74
0
我把自己的架构转移到了Spring MVC了

我在 2011年出版了 一本图书《B2B2C网上编程指南--基于SaaS和淘宝API开放平台》 那时我的快速开发框架已经比较成熟了,那时从心里比较讨厌Spring 和Hinernate的配置文件,所以那时在那本图书...

邢波涛
2013/11/10
0
1
三层架构与MVC

三层架构与MVC有区别,但联系紧密。 他们的作用都是为了降低系统耦合度。 三层架构 三层架构 视图层(View) 存放接收用户提交请求的代码 服务层(Service) 存放系统的业务逻辑代码 持久层(Dao)...

stormxing
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解Java PriorityQueue

ava中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让读者建立对...

java菜分享
10分钟前
1
0
玩手机与做实验

看过这样一个故事:说的是在二十世纪二十年代初的一个深夜,担任英国剑桥大学卡文迪许实验室主任的卢瑟福来实验室检查,发现一位学生还在做实验。卢瑟福就问他:“你上午做什么了?”学生回答...

Bob2100
20分钟前
0
0
Kafka流式处理

Kafka Streams 初识流式处理 什么是数据流 数据流(也叫事件流)是无边界数据集的抽象表示。无边界意味着无限和持续增长。无边界数据集之所以是无限的,是因为随着时间的推移,新记录会不断加...

东都大狼狗
29分钟前
2
0
Mysql主从复制(拓展博客文章扩充知识面)

#不停库不锁表在线主从配置 使用 Xtrabackup 在线对MySQL做主从复制 1.数据量大的话还是建议使用工具例如xtrabackup,mysqldump比较适合操作10G以下的数据备份复制。 2.做业务之前考虑清楚具...

robertt15
34分钟前
1
0
docker快速搭建几个常用的第三方服务

本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch; 如果想学习Java工程化、...

编程SHA
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部