Sturs2 -概念讲解 第一弹
源码下载地址:http://struts.apache.org/
struts-2.5.14.1-all.zip --所有内容
struts-2.5.14.1-apps.zip --实例的应用
struts-2.5.14.1-min-lib.zip --包引用
truts-2.5.14.1-docs.zip --docs文档
struts-2.5.14.1-src.zip --开源源码
概念:
FrameWork : 人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。FrameWork的结构中都有一个“命令”和“控制”组件(command and control)
FrameWork基于请求响应模式可分为三个逻辑结构组成:
1)控制器(Controller):控制整个FrameWork中各个组件的协调工作。
2)业务逻辑层(Business Logic):对FrameWork本身来说,这里仅仅只是概念和几个提供服务的基础组件,真正的实现与客户的业务逻辑接轨,还需要开发人员在FrameWork上再次扩展。
3)数据逻辑层(Data Logic):绝大多数应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口。
Struts2概念:Struts有一组相互协作的类、Servlet以及Jsp TagLib组成。基于Struts架构的WEB应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。
Struts2框架的优势:
1)良好的架构和设计
2)可重用,模块化,扩展性好
3)Open Source
MVC的概念:
MVC是Model-View-Controller的简称,即模型-视图-控制器。
MVC是一种设计模式,它把应用程序分为三个核心模块:模型、视图、控制器。它们各自处理自己的任务。

MVC处理过程(依据上图)
1)首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
2)然后模型根据用户请求进行相应的业务逻辑处理,并返回数据
3)最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。
MVC的优势:
首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
2)由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能够构造良好的松耦合的构件。
3)此外,控制器提高了应用程序的灵活性和可配置型。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。

JSP负责生成动态网页
Servlet负责流程控制
JavaBean负责业务逻辑
Sturs2 -概念讲解 第一弹的更多相关文章
- JavaScript---网络编程(6)-Dom和Bom模型概念讲解(节点获取,window对象)
本节讲Dom和Bom模型概念讲解(节点获取,window对象). out.js: 写了2个输出到页面的函数. function println(param){ document.write(param ...
- [转载]oracle游标概念讲解
原文URL:http://www.2cto.com/database/201203/122387.html ORACLE游标概念讲解 什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互 ...
- JVM第一弹
JVM第一弹 基本概念 JVM是可运行java代码的假想计算机,包括一套字节码指令集,一组寄存器,一个栈,一个垃圾回收.堆和一个存储方法域.JVM是运行在操作系统之上的,它与硬件没有直接的交互. 运行 ...
- typecho流程原理和插件机制浅析(第一弹)
typecho流程原理和插件机制浅析(第一弹) 兜兜 393 2014年03月28日 发布 推荐 5 推荐 收藏 24 收藏,3.5k 浏览 虽然新版本0.9在多次跳票后终于发布了,在漫长的等待里始终 ...
- openerp经典收藏 OpenERP库存管理的若干概念讲解(新增库存价值)(转载)
OpenERP库存管理的若干概念讲解(新增库存价值) 原文:http://shine-it.net/index.php/topic,2425.0/topicseen.html 一.复式库存(Doubl ...
- JavaScript---网络编程(5)-自定义对象Json、Dom模型概念讲解
这节博客主要讲解Dom模型概念~和JSON的简单介绍 首先,还是先上out.js的代码: function println(param){ document.write(param+"< ...
- 通信技术:SSE设计方案(一)--- 前端Server-Sent Events概念讲解和基础类库完善发布
好了,开篇还是要扯扯的,否则感觉这个技术讲的么有那么冻人,嗯,这个晚上是有点冷了,秋衣秋裤大家都该加起来了,反正我不帮你买,妹子除外,嘻嘻. 之前几篇博客,研究前端通信技术的第一层ajax技术,从最基 ...
- 我的长大app开发教程第一弹:Fragment布局
在接下来的一段时间里我会发布一个相对连续的Android教程,这个教程会讲述我是如何从零开始开发“我的长大”这个Android应用. 在开始之前,我先来介绍一下“我的长大”:这是一个校园社交app,准 ...
- Hadoop基础-MapReduce的工作原理第一弹
Hadoop基础-MapReduce的工作原理第一弹 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在本篇博客中,我们将深入学习Hadoop中的MapReduce工作机制,这些知识 ...
随机推荐
- suid sgid sbit chattr lsattr find
suid 一般用于二进制可执行文件不可用于shell脚本和目录,suid代表当用户执行此二进制文件时,暂时具有此文件所有者的权限 chmod 4xxx binfile sgid 一般用于目录,sgid ...
- C 位域
C 位域 如果程序的结构中包含多个开关量,只有 TRUE/FALSE 变量,如下: struct { unsigned int widthValidated; unsigned int heightV ...
- javascript的window.open()具体解释
通过button打开一个新窗体.并在新窗体的状态栏中显示当前年份. 1)在主窗体中应用下面代码加入一个用于打开一个新窗体的button: <body> <script type=&q ...
- spring 官方文档
英文 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 翻译(1-6章) http:// ...
- SQLite可视化管理工具汇总
版权声明:本文为博主原创文章,未经博主允许不得转载. 搜集了一些SQLite工具,在这里做个总结,有的工具用的多一些,有的只是简单试用,甚至未试用,所以有描述不当的还请回复指正,也欢迎补充完善! 20 ...
- 设计模式之MVC设计模式初阶
MVC M:Model(数据) V:View(界面) C:Control(控制) 1⃣️Control可以直接访问View和Model 2⃣️View不可以拥有Control和Model属性,降低耦合 ...
- NativeBase自定义组件样式
http://nativebase.io/docs/v0.5.13/customize#themingNativeBaseApp 对于NativeBase中的组件,我们可以根据实际需要来进行自定义组件 ...
- c# emit 动态实现接口
using System; using System.Linq; using System.Reflection; using System.Reflection.Emit; namespace Te ...
- Eclipse工程前面有个红色的感叹号的解决办法
今天从SVN下载下工程之后,编译完,发现有两个工程有个红色的感叹号,一直没找到什么原因,问百度老师,发现问题的解决办法了. 1.先在控制台上点击Problems 如果控制台没有Problems,点击工 ...
- Array容易被忽略的join
var lists, items = '', i; lists = [{ Fruits:'苹果' },{ Fruits:'香蕉' },{ Fruits:'菠萝' }]; /*items += '< ...