Struts2笔记01——基础MVC架构(转)
原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm
Apache Struts 2是用来创建企业级Java Web应用的一个优雅的、可拓展的框架,它最初被称作WebWork 2。
这个框架的目的在于——简化整个Web应用的开发周期,从构建到部署,以及后续的维护工作。
下面的教程将通过简单的步骤来教会你——如何使用Apache Struts创建企业级别的Java Web应用程序。
听众
这个教程是为想要理解Struts 2.x框架以及它的应用程序的Java程序员而设计的,它将为你带来中等水平的实验。
先决条件
在进行本教程之前,你需要对Java编程语言有一个比较好的理解。
对于MVC框架和JSP或者Servlet的基本了解将有助于你的学习。
基础MVC架构
MVC是一个用于开发Web应用的设计模式。这个模式由下面三个部分组成:
Model - 模式的最低级别,负责数据维护。
View - 负责向用户显示数据。
Controller - 负责模型和视图之间的交互。
MVC很受欢迎,因为它将“用户界面”和“程序逻辑”独立出来,并支持分离。——Controller接受用户请求,配合Model准备View所需要的数据,最后由View生成可视化的响应。
model
模型负责管理应用的数据,它响应来自视图的请求、控制器的指令,并以此为依据更新自身。
view
以特定的格式呈现数据,需要控制器触发;
是基于脚本的模板系统,常见的视图有JSP,ASP,PHP等,
非常易于与AJAX技术集成。
controller
控制器负责响应用户输入、与数据模型对象交互。它接受输入、验证输入、然后执行修改数据模型状态的业务操作。
Struts2是一个基于MVC的框架。在接下来的章节中,让我们来看看——如何在Struts2中使用MVC方法。
Struts2笔记01——基础MVC架构(转)的更多相关文章
- struts2.1笔记01:MVC框架思想浅层理解
1. Struts 1是全世界第一个发布的MVC框架: 它由Craig McClanahan在2001年发布,该框架一经推出,就得到了世界上Java Web开发者的拥护,经过长达6年时间的锤炼,S ...
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- PHP学习笔记01——基础语法
<!DOCTYPE html> <html> <?php // 1.使用$加变量名来表示变量,php是弱类型语言,不要求在使用变量前声明,第一次赋值时变量才被创建 $a ...
- Elasticserach学习笔记-01基础概念
本文系本人根据官方文档的翻译,能力有限.水平一般,如果对想学习Elasticsearch的朋友有帮助,将是本人的莫大荣幸. 原文出处:https://www.elastic.co/guide/en/e ...
- [JavaWeb基础] 019.Struts2 MVC架构之ModelDriven
用过struts1的人接触struts2的时候,通常会产生一个疑惑,明明struts1已经把action的form分开了,为什么struts2确把模型放在action中定义.其实这个方式只是想让act ...
- Angular JS从入门基础 mvc三层架构 常用指令
Angular JS从入门基础 mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心 ...
- 1 TensorFlow入门笔记之基础架构
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...
- ExtJS 4.2.1学习笔记(一)——MVC架构与布局
1 ExtJS入门 1.1 支持所有主流浏览器 调试推荐:chrome.Safari.Firefox 1.2 推荐目录结构 - appname (包含所有程序代码,是根目录 ...
- Struts2笔记03——架构(转)
原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm 架构(很重要!尤其是图!) 从一个比较高的层次来看,St ...
随机推荐
- sessionstorage:本地临时存储
HTML5 web存储有两个重要对象: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储(关闭窗口,存储的数据清空) 一般涉 ...
- js获取屏幕的大小等信息
<html><script>function a(){document.write("屏幕分辨率为:"+screen.width+"*" ...
- Xcode调试项目时取消弹出框提示授权
问题2: instruments wants permission to analyze other processes.'DTServiceHub'需要控制另外一个进程,以便继续调试,键入密码以允许 ...
- 第一百七十节,jQuery,事件对象,event 对象,默认行为,冒泡
jQuery,事件对象,event 对象,默认行为,冒泡 学习要点: 1.事件对象 2.冒泡和默认行为 JavaScript 在事件处理函数中默认传递了 event 对象,也就是事件对象.但由于浏览器 ...
- AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 最大的 ...
- Theano mnist数据集格式
首先链接一篇大牛的Theano文档翻译:http://www.cnblogs.com/xueliangliu/archive/2013/04/03/2997437.html 里面有mnist.pkl. ...
- android中延迟执行某个任务
android App开发在某些情况下需要有延时功能,比如说App首页显示定格3秒,然后自动跳到登录页的情况,这就好比是一个预加载,但是这个预加载可能瞬间就完成了,撑不到3秒钟,这是就要求你做延时处理 ...
- ios -WKWebView 高度 准确,留有空白的解决方案
#import "ViewController.h" #import <WebKit/WebKit.h> @interface ViewController ()< ...
- OBS (open boardcast server)结构分析
一,简介 OBS(open boardcast server),是一个用于直播的开源软件. 官方网站:https://obsproject.com/ 代码托管地址:https://github.com ...
- firefox(火狐)怎么关闭鼠标拖拽搜索
工具-附加组件-卸载<附加组件管理器> 即可. 这玩意真心坑爹,起这个名字的人绝对是吃屎了,这名字怎么和鼠标拖拽混到一起的 !!! 关键字:火狐:鼠标:鼠标拖拽:鼠标手势:关闭