文档章节

结构型模式之八:MVC模式

奋斗到天明
 奋斗到天明
发布于 2015/08/27 16:47
字数 244
阅读 33
收藏 0
点赞 0
评论 0

Struts2实现了模型-视图、控制器设计模式,下面的类图演示了Struts2怎么实现了MVC组件。 Action - model Result - view FilterDispatcher - controller

每个模块扮演的角色

Controler的作用是映射过来的HTTP请求去actions,这些映射是由xml配置文件或者java注解配置的。 Model在Struts2中是actions,每个action都通过框架定义好的约定(如一个execute()方法)定义并实现好了的。Model组件提供了数据结构与业务逻辑,每个action封装了一个请求rrquest对象并放置在值栈中。 View是MVC的展现组件,不管是共同的JSP文件,还是其他技术如tilts, velocity, freemaker,等等,能一起提供灵活的展现层。

每个层的互动

MVC模式是struts2中最明显的模式,其他模式可以查看系列文章。 

以上文章翻译自:http://www.programcreek.com/2011/08/struts-2-tutorials-mvc-design-pattern/

© 著作权归作者所有

共有 人打赏支持
奋斗到天明
粉丝 18
博文 112
码字总数 82707
作品 0
昌平
程序员
一天一种设计模式之八-----组合模式

一.组合模式简介 组合模式属于结构型模式 将组合模式合成树形结构以表示“部分-整体” 的层次结构。“Composite”使得用户对单个对象和组合对象的使用具有一致性。 适用性: 你想表示对象的部...

tongqu ⋅ 2016/03/15 ⋅ 0

创建型、结构型、行为型模式(1)

目的 创建型模式 Creational Pattern 结构型模式 Structural Patterns 行为型模式 Behavioral Pattern 概念 创建型模式,就是创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何...

晨曦之光 ⋅ 2012/04/24 ⋅ 0

设计模式总结(二)

设计模式可分为三种:创建型设计模式,结构型设计模式和行为型设计模式。 一、创建型设计模式 在设计模式中,创建型设计模式处理对象创建过程的设计模式,它根据实际情况来决定具体怎样创建对...

邵鸿鑫 ⋅ 2014/05/02 ⋅ 0

设计模式:第一章

第一章 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 一个设计模式有四个基本要素: 模式名称 问题 解决方案 效果 设计模式是用来在特定场景下解决一般...

wjpworking ⋅ 2016/12/07 ⋅ 0

GOF设计模式分类

  GoF模式的分类   1.根据目的准则分类     就是说,指定的模式用来完成什么样的工作。可分为三种:     (1) Creational (创建型):与对象创建有关。     (2) Structural (结...

forest13 ⋅ 2013/09/21 ⋅ 0

PHP设计模式(二):结构模式

上一篇我们介绍了设计模式的特性并且详细讲解了4种创建型模式,创建型模式是负责如何产生对象实例的,现在我们继续来给大家介绍结构型模式。(我的分享里面有) 一、什么是结构型模式? 结构...

juhenj ⋅ 2014/05/15 ⋅ 1

适配器模式——结构型模式

思路: 一个软件团队开发绘图系统,设计了圆对象(Circle)、矩形对象(Rectangle),线对象(Line)。都支持Draw()函数,即可以通过Draw()函数绘制图形。我们应该如何做呢? 那么现在,为了加快项...

落叶-归根 ⋅ 2016/05/26 ⋅ 0

设计模式 之桥接模式

之前说过的翻译计划食言了。现在开始翻,从 结构型设计模式 桥接模式开始,因为之前的都在github上写过了(稍后记得整理下)。 现在主流的设计模式主要分三大类 创建型设计模式,结构型设计模...

起什么name呢 ⋅ 2016/05/05 ⋅ 0

PHP的23种设计模式--php_design_patterns

学习理解设计模式,记录PHP关于23种设计模式的简单Demo。 设计模式分为:创建型模式, 结构型模式,行为型模式等23种设计模式。 一、五种创建型模式如下: 工厂方法模式factorymethod 抽象工...

匿名 ⋅ 2016/04/13 ⋅ 1

剑指Offer——知识点储备-设计模式

剑指Offer——知识点储备-设计模式 设计模式 设计模式的六大原则 (1)单一职责原则(有且仅有一个原因引起类的变化); (2)里氏替换(任何父类出现的地方子类都可以替换); (3)依赖倒置...

sunhuaqiang1 ⋅ 2016/11/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 47分钟前 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 7

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部