文档章节

MVC架构和SSH框架对应关系

ruyees
 ruyees
发布于 2014/10/05 11:47
字数 654
阅读 74
收藏 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
293
0
SSH框架总结(框架分析+环境搭建+实例源码下载)

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

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

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

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

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

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

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

stormxing
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
昨天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
昨天
2.7K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
昨天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部