Struts 基本概念,优点及不同版本之间的关系
strutx 1.x
struts 是 apache 基金会的一个开源项目。
struts 是一套实现 MVC的框架。
MVC = 程序分层设计的思想 = Model(数据访问层1) / View(视图层3) / Control(控制层2)
这只是基本的分层,一些大项目层数会更多(比如:安全,权限等等)。
早期的 web 应用程序中,servlet,jsp 中,既包含Java代码(处理数据的代码,处理业务逻辑的代码),又包含HTML,css;这些类别,风格,作用完全不同的代码混杂在一起,造成的结果是代码的维护性,可读性,拓展性都极差。这种设计模式叫做Model I。Model I 不是MVC。
运用MVC的设计思想,分离不同功能的代码,Model II。JavaBean + Servlet + JSP。这种从零开始搭建一个MVC的系统比较复杂,因此引入框架的概念。
补充:原生MVC就是JSP + Servlet + JavaBean + DAO ,JSP为MVC模式当中的V,Servlet为C,DAO与JavaBean合在一起为M。
Struts 是一个非常流行的MVC框架,是比Jsp Model II更先进的一种开发技术。
使用框架(Struts+spring+hibernate = ssh)的好处,开发速度快。
Struts 分为 1.x、2.x版本。
struts 1.x 已经过时。
struts 2.x 本来叫做 WebWork,也是apache 的一个开源框架,是参照 struts 1.x 开发的一套MVC框架。
struts1.x和struts2.x代表着两种不同的设计思路,不是简单的升级。
要学习 struts1.x的原因:
1、老的系统需要维护,很多都是用struts1.x开发的;
2、同时,学了struts1.x,再学struts2,就很容易了。
需要注意:MVC是一种设计思想,所有开发语言都有,不是Java语言特有的。
官网:http://struts.apache.org/
下载 Struts 1.3.10 完整发布包 即可。
struts 1.x 2013-04-05 已申明,不再支持升级, end of life。
Struts 基本概念,优点及不同版本之间的关系的更多相关文章
- jdk和Tomcat版本之间的关系,jdk尽量要比tomcat低才行
注:本文来源于:6860 <jdk和Tomcat版本之间的关系,jdk尽量要比tomcat低才行> 用的tomcat是低版本的,但是用的jdk却是高版本的,用Servlet做的项目运行都没 ...
- .net版本之间的关系
net framework 2.0,3.0与3.5三个版本之间关系如下: .net framework 2.0 = CLR 2.0 + FCL(framework class library) .ne ...
- CLR/.NET/C#/Visual Studio/ASP.NET各版本之间的关系(转)
由于这篇文章记录的是2015年7月,那时.net core还是叫做.net core 5 名词定义 下列这些名词,写.NET 的人一定都不陌生,但你是否有真正理解呢?如果看了我的摘要文字说明还无法理解 ...
- JLINK固件,JLINK驱动和JLINK硬件版本之间的关系,以及固件升级方法
初学者容易在这几个问题上面犯迷糊,这里简单的说说. 1. JLINK硬件版本首先说JLINK的硬件版本有V7,V8和V9,相信这一点大家应该都没问题,那怎么看自己手头的JLINK是哪个硬件版本呢, ...
- VS版本 与 .NET版本以及C#版本之间的关系
版本 .NET Framework版本 Visual Studio版本 发布日期 特性 C# 1.0 .NET Framework 1.0 Visual Studio .NET 2002 2002.1 ...
- 一文读懂Python web框架和web服务器之间的关系
我们都知道 Python 作为一门强大的语言,能够适应快速原型和较大项目的制作,因此被广泛用于 web 应用程序的开发中. 在面试的过程中,大家或多或少都被问到过这样一个问题:一个请求从浏览器发出到数 ...
- 【整理】JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系
#[整理]JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系 、STL、面向对象编程(OOP)、C++之间的关系
2013-08-11 10:46:39 介绍STL模板的书,有两本比较经典: 一本是<Generic Programming and the STL>,中文翻译为<泛型编程与STL& ...
- JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系
郭晨 软件151 1531610114 [整理]JavaEE基本框架(Struts2+Spring+MyBatis三层,Struts MVC)之间的关系 visio文件下载 概述 一个JavaEE的项 ...
随机推荐
- HDU1166(分块)
敌兵布阵 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- HDU2579
Dating with girls(2) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 爱你不容易 —— Stream详解
作为前端,我们常常会和 Stream 有着频繁的接触.比如使用 gulp 对项目进行构建的时候,我们会使用 gulp.src 接口将匹配到的文件转为 stream(流)的形式,再通过 .pipe() ...
- Linux Platform驱动模型(二) _驱动方法
在Linux设备树语法详解和Linux Platform驱动模型(一) _设备信息中我们讨论了设备信息的写法,本文主要讨论平台总线中另外一部分-驱动方法,将试图回答下面几个问题: 如何填充platfo ...
- WEB安全测试通常要考虑的测试点
1问题:没有被验证的输入测试方法: 数据类型(字符串,整型,实数,等)允许的字符集 最小和最大的长度是否允许空输入参数是否是必须的重复是否允许数值范围特定的值(枚举型)特定的模式(正则表达式) 2问题 ...
- hushset的实现原理
实现源码 public HashSet() { map = new HashMap<>(); } 这里可以看见当我们new一个hashset时,实际上hashset类又创建了一个hashm ...
- 读书笔记 effective c++ Item 1 将c++视为一个语言联邦
Item 1 将c++视为一个语言联邦 如今的c++已经是一个多重泛型变成语言.支持过程化,面向对象,函数式,泛型和元编程的组合.这种强大使得c++无可匹敌,却也带来了一些问题.所有“合适的”规则看上 ...
- .Net程序员学用Oracle系列(16):访问数据库(ODP.NET)
1..Net for Oracle 常见数据库驱动 1.1.微软提供的驱动 1.2.甲骨文提供的驱动 1.3.其它厂商提供的驱动 2.ODP.NET 常见问题分析 2.1.参数化问题 2.2.方法调用 ...
- 【Java基础】线程和并发机制
前言 在Java中,线程是一个很关键的名词,也是很高频使用的一种资源.那么它的概念是什么呢,是如何定义的,用法又有哪些呢?为何说Android里只有一个主线程呢,什么是工作线程呢.线程又存在并发,并发 ...
- select中的文字垂直居中的问题
select文字在默认和边框高度增加时 是默认居中的.你要是不想居中的话可以用padding值调整.但是右侧的三角不会改变. select在高度减小时.字体是不会垂直居中的.无论你用什么他都不会垂直居 ...