struts_01
1. Struts2概述
1.1. 什么是struts2框架
1.1.1. 概念
Struts2 是一个非常优秀的MVC框架,基于Model2设计模型
关键词解释:
l 框架:
框架是可以重复使用的一些或一整套代码,通常与具体业务无关,也可以认为是软件的半成品。
框架的好处是:可以提高开发效率,简化开发过程。
举一个现实世界的例子:
你组装一台电脑,你需要自己去再去制造主板、CPU或机箱么?你只需要将这些电脑的半成品,按照其规范(规矩),组装到一起就行了。
这样比你从0开始来制造一台电脑是不是快多了?
l MVC:
全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计模式,或软件设计思想。
优点是:代码结构更加清晰,为了更好维护和扩展:
m 模型:负责数据处理。
v 视图:负责页面数据的显示。
c 控制:负责控制调度不同的逻辑代码。
MVC的设计模式在很多语言中都有实现,如java,.net等
JSP规范提出了两种用JSP技术建立应用程序的开发模式,分别称作JSP Model 1 和JSP Model 2:
Model1: JSP (控制、显示)+ JavaBean (数据处理)
Model2 : Servlet (控制)+ JSP(显示) + JavaBean(数据处理)--符合MVC思想架构模式。
Java web企业应用开发根据又根据Model2(也可以说是根据MVC思想)制定了三层结构体系(来自于JavaEE规范):
表现层(页面数据显示、页面跳转调度)jsp/servlet
业务层(业务处理和功能逻辑、事务控制)-service
持久层(数据存取和封装、和数据库打交道)dao
【注意】
Struts2 是一个表现层框架 ,用来简化表现层代码开发的。
1.1.2. Struts2的前世今生
由传统Struts1和WebWork两个经典框架发展而来。
Java兴起 98年 (最早进行java开发分方向 j2se 、j2ee、 j2me )
J2EE 企业级应用软件开发
2000 年左右出现struts1 (几乎所有开发人员 都在用 ) struts1 设计有缺陷
Webwork 出现, 设计思想比struts1 先进的多 ,引入 拦截器机制、 ognl 表达式语言
struts2是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架,
Struts 2以WebWork为核心(两个框架均源自xwork命令模式框架),但开发流程类似于struts1(让开发人员平滑过度)。
1.2. 开发包相关
1.2.1. 开发包下载
官网地址:http://struts.apache.org/
1.3 扩展阅读
struts_01的更多相关文章
- Struts(十四):通用标签-form表单
form标签是struts2标签中一个重要标签: 可以生成html标签,使用起来和html的form标签差不多: Strut2的form标签会生成一个table,进行自动布局: 可以对表单提交的值进行 ...
- Struts(十三):通用标签
Struts标签简介: Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性,实现了更好的代码复用.Struts2允许在页面中使用 ...
- Struts(十二):异常处理:exception-mapping元素
配置当前action的声明异常处理 1.exception-mapping元素中有2个属性 exception:指定需要捕获的异常类型 result:指定一个响应结果,该结果将在捕获到异常时被执行.即 ...
- Struts(十):OGNL表达式(一)
Struts2 用s:porperty标签和OGNL表达式来读取值栈中的属性值: I.值栈中的属性值: 1.对象栈:读取对象栈中的某一个对象的属性值: 2.Map栈 :request,session, ...
- Struts(九):值栈(OGNL)
引言 在我们开发过程中,往往会使用一个对像传递到一个具体的action中,之后到跳转页面中访问对应对象的具体的参数. 比如:我们搭建一个struts2项目: 回顾下如何搭建strut2: 1.下载的s ...
随机推荐
- solr6.6教程-基础环境搭建(二)
在上一篇文章中已经简单介绍了solr在windows的部署,今天我们来下如何新建一个自己core. 1,core理解 如果把solr理解为个数据库的话,那么core可以理解为数据库中的一张表,其实就是 ...
- java6 - 面向对象编程思想
一.学习大纲: 1. 类的理解:对现实事物的抽象表示 2. 行为与特征的理解:在类抽象过程中,通常把行为抽象成方法,把特征抽象成属性 3. 对象的理解:类的一个实例即是对象 4. Object 根类 ...
- js中判断数组中是否含有某个字符串方法
1.两个数组间互相校验 Var inArray = function(arr, item) { for(var i = 0; i < arr.length; i++) { if(arr[i] ...
- zoj 3962 Seven Segment Display 数位dp
非常好的一个题,可以比赛时想到的状态太奇葩,不方便转移,就一直没能AC. 思路:dp(i, j)表示已经考虑了前i位,前i位的和为j的贡献.如果当前的选择一直是最大的选择,那么就必须从0~下一位的最大 ...
- HDU1560 DNA sequence IDA* + 强力剪枝 [kuangbin带你飞]专题二
题意:给定一些DNA序列,求一个最短序列能够包含所有序列. 思路:记录第i个序列已经被匹配的长度p[i],以及第i序列的原始长度len[i].则有两个剪枝: 剪枝1:直接取最长待匹配长度.1900ms ...
- Spring IO Platform 解决Spring项目组合中版本依赖
简介: Spring IO Platform是Spring官网中排第一位的项目.它将Spring的核心API集成到一个适用于现代应用程序的平台中.提供了Spring项目组合中的版本依赖.这些依赖关系是 ...
- bash文件的详细解读
一.bash的分类 1. 按生效范围分类 全局生效 /etc/profile /etc/profile.d/*.sh /etc/bashrc 个人用户生效 ~/.bash_profile ~/.bas ...
- deplyed使用归纳(转自月下独奏)
deployd:一个生成后端数据的软件,简单的说就是大部分的前端不会后端,即使会也很难在深入到数据库进行设置一些前端所需数据的创建与查询的后端程序的书写,所以此时就是deployd大显身手的时候了. ...
- SQL 脚本持续收集...
1.复制表 ---sqlserver (包括表结构和表数据) SELECT * INTO TABEL_NEW FROM TABLE_OLD---sqlserver(只复制表结构)CREATE TABL ...
- R︱Linux+Rstudio Server尝鲜笔记(打造最佳Rstudio体验+报错的解决方案)
Rstudio Server 是Rstudio开发的基于R语言的网页版(只能在Linux),你在手机上都可以运行R,还是挺方便的.就是配置起来有点麻烦. 官方下载链接:https://www ...