博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2概述及与Struts1的对照
阅读量:6240 次
发布时间:2019-06-22

本文共 1146 字,大约阅读时间需要 3 分钟。

Struts2 概述

1,仍然是一个基于请求响应的MVC框架

2Struts2不是Struts1的升级

3Struts2Struts1的体系结构差距非常大

4Struts2採用了还有一个MVC框架WebWork的核心设计

5Struts2更优秀:松耦合设计。。

 

Struts1Struts2的对照

1Action方面

Struts1Action必须继承;Struts1是单例的,存在线程安全问题;控制运行方面。Struts1固定不变的

Struts2Action能够不继承;Struts2是多例的。没有线程安全问题;控制运行方面,Struts2通过拦截器。能够改变运行流程,灵活配置的

2,Servlet API依赖与可測试性

Struts1Action測试性不好,Struts1中的Action须要依赖Servlet API,由于须要容器支持,由于在Action依赖Servlet API

Struts2Action測试性不好。Struts2中的Actionk能够不用依赖ServletAPI,能够直接写一个单元測试完毕。由于Struts2Aciton是一个POJO对象

3ActionForm方面

Struts1收集数据通常使用ActionForm,ActionForm还须要继承。使得ActionForm的复用率减少。另外项目非常大会建立非常多ActionForm给维护带来工作量,但也有优点,数据的收集和控制进行非常好的分离。

Struts2能够不用使用ActionForm来收集数据。直接让Action来收集 数据,但也能够採用相似ActionForm的方式来收集数据,Struts2採用ModelDriven的方式来支持相似Struts1ActionForm方式。所以Struts2更灵活。

4,类型转换与表达式语言方面

Struts1ActionForm的类型转换採用 commons-beanutils工具。而定义完毕一个转换器,将对全部的ActionForm起作用,而不能针对某一个ActionForm来配置是否使用此类型的转换器。

Struts1中我们通常使用JSTL作为显示层绑定数据的方式。

Struts2使用OGNL进行类型转换。功能更加强大,转换过程能够针对某个类型进行配置。;Struts2中我们能够使用功能更强大的表达式语言OGNLObject Graph Notation Language

5,校验

Struts1採用覆盖ActionForm中的validate()方法或採用验证框架commons validator来验证

Struts2支持使用覆盖validate()方法来完毕验证,也支持验证框架XWork来验证。

 

 

 

 

 

转载地址:http://dkdia.baihongyu.com/

你可能感兴趣的文章
Linux 常见编译错误
查看>>
ASP.NET MVC 3 Controller
查看>>
Vs中调试MVC源代码步骤
查看>>
JavaScript项目重构到底有多少坑要填要踩
查看>>
footer绝对定位但是不在页面最下边解决方案
查看>>
Oil Deposits(油田)(DFS)
查看>>
Android 画图(自定义坐标轴控件的拖动实现)
查看>>
在Linux下配置git并设置远程仓库
查看>>
[解题报告]499 - What's The Frequency, Kenneth?
查看>>
Vue入门---常用指令详解
查看>>
iOS 越狱后 SSH 不能连接
查看>>
soj 3291 Distribute The Apples II DP
查看>>
苹果App Store审核指南中文翻译(更新至140227)
查看>>
转 -- OK6410 tftp下载内核、文件系统以及nand flash地址相关整理、总结
查看>>
原来对MFC一无所知
查看>>
Java程序员看C++代码
查看>>
python处理Excel - xlrd xlwr openpyxl
查看>>
JS实现的购物车
查看>>
bzoj 3998 [TJOI2015]弦论——后缀自动机
查看>>
STL 的 vector 根据元素的值来删除元素的方法
查看>>