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的项 ...
随机推荐
- HDU5505
GT and numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- requests从api中获取数据并存放到mysql中
python的requests库是一个非常强大的库,requests的安装方法十分简单,用: pip install requests 即可安装requests,安装成功后: import reque ...
- Accessibility辅助功能--一念天堂,一念地狱
0x00什么是Accessibility(辅助功能) 考虑到部分用户不能很好地使用Android设备,比如由于视力.身体.年龄方面的限制,造成阅读内容.触控操作.声音信息等方面的获取困难,Androi ...
- 在QT中引用Shark Machine Learning library
最近因为项目需要,看了看机器学习方面的东西.Google一番,发现Shark正是朕需要的东西.于是准备按官方文档来使用它了.但是官方文档只有怎么生成静态库,并没有在QT里引用的sample. 废话不多 ...
- 理解Node.js(译文)
前言 总括 :这篇文章十分生动形象的的介绍了Node,满足了读者想去了解Node的需求.作者是Node的第一批贡献者之一,德国前端大神.译者觉得作者的比喻很适合初学者理解Node,特此翻译. 译者 : ...
- Sublime Text3常用插件以及安装方法(实用)
Package Control组件在线安装 按Ctrl+`调出console(注:避免热键冲突) 粘贴以下代码到命令行并回车: import urllib.request,os; pf = 'Pack ...
- ASP.NET Core中的缓存[1]:如何在一个ASP.NET Core应用中使用缓存
.NET Core针对缓存提供了很好的支持 ,我们不仅可以选择将数据缓存在应用进程自身的内存中,还可以采用分布式的形式将缓存数据存储在一个“中心数据库”中.对于分布式缓存,.NET Core提供了针对 ...
- C# GDI绘图之——画笔和画刷
绘制图形需要画笔和画刷: Pen(画笔类): Pen为C#编程语言中专门的画笔类 使用方式: // 用系统颜色来初始化我们的画笔类,使用Color静态类中的颜色 1. Pen p1 = new Pen ...
- 网易云直播SDK使用总结
前言: 最近公司的项目中加入中直播这部分的功能,现在的直播平台真的很多很多,以前在朋友圈看到过这张图片,没办法一次性给大家看,就只能这样截成几张给大家看看.其实按照我自己的看法,现在的直播已经没办法做 ...
- Mybatis实战之TypeHandler高级进阶
上篇文章分享了在项目实战中自定义Mybatis的TypeHandler来处理枚举类型.文章结尾也指出了美中不足之处,那就是每次都需要指定我们自定义的枚举TypeHandler. 随着项目枚举类型的增多 ...