博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSH框架与MVC架构之间的关系
阅读量:6344 次
发布时间:2019-06-22

本文共 1702 字,大约阅读时间需要 5 分钟。

hot3.png

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

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

SSH 它就是一个架构 MVC 它是一种思想

我举个例子来说明怎么利用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三大框架的通力合作下实现楼宇列表的显示,小白菜可以吃了。

转载于:https://my.oschina.net/u/2491250/blog/681689

你可能感兴趣的文章
你好,C++(16)用表达式表达我们的设计意图——4.1 用操作符对数据进行运算...
查看>>
[转] Mac下 快速写博客的软件 MarsEdit
查看>>
Unity的赛车游戏实现思路
查看>>
[Android UI] Shape详解 (GradientDrawable)
查看>>
边学边体验django--HttpRequest 对象
查看>>
18.3 redis 的安装
查看>>
jdbc 简单连接
查看>>
多态初步认识
查看>>
数组处理:118
查看>>
为什么要优先使用组合而不是继承 .
查看>>
【MySql】权限不足导致的无法连接到数据库以及权限的授予和撤销
查看>>
android实现gif图与文字混排
查看>>
安卓新标准出台_告别乱弹窗_你的手机真会省电么?
查看>>
hdu1384Intervals(差分约束)
查看>>
python 字符编码
查看>>
269D Maximum Waterfall
查看>>
C++11 多线程
查看>>
sed-加速你在Linux的文件编辑
查看>>
HttpServer发送数据到kafka
查看>>
phpcms站---去除域名绑定目录中的HTML
查看>>