Struts2概述及与Struts1的对照
Struts2 概述
1,仍然是一个基于请求响应的MVC框架
2,Struts2不是Struts1的升级
3,Struts2与Struts1的体系结构差距非常大
4,Struts2採用了还有一个MVC框架WebWork的核心设计
5,Struts2更优秀:松耦合设计。。
Struts1与Struts2的对照
1,Action方面
Struts1的Action必须继承;Struts1是单例的,存在线程安全问题;控制运行方面。Struts1固定不变的
Struts2的Action能够不继承;Struts2是多例的。没有线程安全问题;控制运行方面,Struts2通过拦截器。能够改变运行流程,灵活配置的
2,Servlet API依赖与可測试性
Struts1的Action測试性不好,Struts1中的Action须要依赖Servlet API,由于须要容器支持,由于在Action依赖Servlet API
Struts2的Action測试性不好。Struts2中的Actionk能够不用依赖ServletAPI,能够直接写一个单元測试完毕。由于Struts2的Aciton是一个POJO对象
3,ActionForm方面
Struts1收集数据通常使用ActionForm,而ActionForm还须要继承。使得ActionForm的复用率减少。另外项目非常大会建立非常多ActionForm给维护带来工作量,但也有优点,数据的收集和控制进行非常好的分离。
Struts2能够不用使用ActionForm来收集数据。直接让Action来收集 数据,但也能够採用相似ActionForm的方式来收集数据,Struts2採用ModelDriven的方式来支持相似Struts1的ActionForm方式。所以Struts2更灵活。
4,类型转换与表达式语言方面
Struts1对ActionForm的类型转换採用 commons-beanutils工具。而定义完毕一个转换器,将对全部的ActionForm起作用,而不能针对某一个ActionForm来配置是否使用此类型的转换器。
Struts1中我们通常使用JSTL作为显示层绑定数据的方式。
Struts2使用OGNL进行类型转换。功能更加强大,转换过程能够针对某个类型进行配置。;Struts2中我们能够使用功能更强大的表达式语言OGNL(Object Graph Notation Language)
5,校验
Struts1採用覆盖ActionForm中的validate()方法或採用验证框架commons validator来验证
Struts2支持使用覆盖validate()方法来完毕验证,也支持验证框架XWork来验证。
Struts2概述及与Struts1的对照的更多相关文章
- Struts2概述
-------------------siwuxie095 Struts2 概述 1.Struts2 是应用在 Java EE 三层架构中的 Web 层的框架 2.Struts2 是在 Struts1 ...
- Struts2 概述
1. struts2应用在javaee三层结构中web层框架 2. struts2框架在struts1和webwork基础之上的发展全新的框架 3.struts2 解决的问题: 用户管理的crud操作 ...
- Struts2的优点与Struts1的区别:
单实例与多实例有状态就是有数据存储功能,比如购物车,买一件东西放进去,可以再次购买或者删减.无状态就是一次操作,不能保存数据. 有状态对象,就是有成员属性的对象,可以保存数据,是非线程安全的.无状态对 ...
- Struts2框架学习第一章——Struts2概述
本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — We ...
- Struts2笔记02——Struts2 概述(转)
原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm Struts2是基于MVC设计模式的一种流行.成熟的We ...
- Struts2学习第二课 Struts2概述
Struts2是一个用来开发MVC应用程序的框架,它提供了Web应用程序开发过程中的一些常见问题飞解决方案: -对来自用户的输入数据进行合法性验证 -统一的布局 -可扩展性 -国际化和本地化 -支持A ...
- 第1章-Struts2 概述 --- Struts2和MVC
(一)Struts2和MVC的关系图: (1)控制器---FilterDispatcher 用户请求首先达到前段控制器(FilterDispatcher).FilterDispatcher负责根据用户 ...
- 1:1 Struts2概述
jar包下载
- Struts1和Struts2对照
最近学习Struts1和Struts2.好多人.提到非常多的信息. Struts2不从Struts1进化. Struts2的前身WebWork. 呢,看了一些资料,下边就来比較比較. 一.架构分析 S ...
随机推荐
- [Javascript] 轻量级的JavaScript日期处理类库xDate使用指南
XDate是一个请谅解的JavaScript的原生Date对象的封装库,提供增强的功能解析,格式化和日期处理.使用起来就和JavaScript自己的对象和方法一样,非常简单. XDate是一个请谅解的 ...
- BZOJ 1018 线段树维护图的连通性问题
思路: 我们可以搞一棵线段树 对于一段区间有6种情况需要讨论 左上右下.左上右上.左下右下.左下右上 这四种比较好维护 用左上右下举个例子吧 就是左儿子的左上右下&左区间到右区间下面有路&am ...
- 第5章分布式系统模式 Data Transfer Object(数据传输对象)
正在设计一个分布式应用程序,为了满足单个客户端请求,您发现自己对一个远程接口发出了多个调用,而这些调用所增加的响应时间超出了可接受的程度. 影响因素 在与远程对象通信时,请考虑下列需要权衡的因素: 远 ...
- 破解VIP会员视频集合
浏览器安装暴力猴扩展即可使用 // ==UserScript== // @name 破解VIP会员视频集合 // @namespace https://greasyfork.org/zh-CN/use ...
- 基于 Web 的 Go 语言 IDE - Wide 1.4.0 发布!
Wide 是什么 Wide 是一个基于 Web 的 Go 语言团队 IDE . 在线开发:打开浏览器就可以进行开发.全快捷键 智能提示:代码自动完成.查看表达式.编译反馈. Lint 实时运行:极速编 ...
- XML 之 命名空间详解
最近学xml 遇到了点小问题qaq 找了n多的博客大佬,反复看了半小时终于明白了,可能我太蠢了... 基础的知识就不赘述,直接放“栗子”,切重点: <?xml version="1.0 ...
- hdu1507 最大匹配
题目大意: 在 n*m在矩阵中,有一些点被标记为黑色,问可以多少对相邻的没有重复的白色块. 思路: 看上去与二分匹配毫无关系.但是没有其他好的解法,转化为二分匹配是正解.二分匹配的条件是{X,Y|E} ...
- houxiurong.com 关于Tomcat7部署 一台机器部署两个项目,一个用域名访问,一个用IP访问
该内容来自 http://houxiurong.com,转载请说明出处. 1.使用IP访问的项目放在Tomcat7 的webapps目录下面:比如:AAA 2.使用域名访问的项目放在Tomcat7的w ...
- Spring boot application.properties 配置
原文链接: http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.ht ...
- C51端口结构和工作原理(转)
一.P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器.输入缓冲器.切换开关.一个与非门.一个与门及场效应管驱动电路构成.再看图的右边,标号为P0.X引脚的 ...