Struts2笔记02——Struts2 概述(转)

Struts2是基于MVC设计模式的一种流行、成熟的Web应用框架。

它不仅仅是Struts1的下一个版本,更是对Structs架构的一个完整重写。

而WebWork则是以Struts框架为基础的一个框架,它的目标是提供一个基于Struts的增强、改进框架,使开发人员更轻松地进行Web开发

在一段时间后,Webwork框架和Struts社区携手共同创建了著名的Struts2框架。

Struts2 框架特性

  • POJO forms and POJO actions - Struts2已经完成了作为Struts框架组成部分的Action Forms。通过Struts2,你可以使用任何POJO来接收表单数据。同样,你现在可以看到任何POJO充当Action类。
  • Tag support - Struts2已经改进了表单标签,新标签允许开发人员编写更少的代码。
  • AJAX support - Struts2已经认可并接纳了Web2.0 技术, 并通过创建与标准Struts2标签非常相似的AJAX标签将AJAX集成到产品中。
  • Easy Integration - 与其他框架(如Spring,Tiles和SiteMesh)的集成现在可以通过Struts2可用的各种集成来实现。
  • Template Support - 支持使用模板生成视图。
  • Plugin Support - 可以通过使用插件来增强和扩充核心的Struts2行为;Struts2有许多可用的插件。
  • Profiling - Struts2提供集成分析来调试和配置应用程序。除此之外,Struts还提供了内置调试工具的集成调试功能。
  • Easy to modify tags - 可以使用Freemarker模板调整Struts2中的 Tag markups。这不需要JSP或java知识。基本的HTML,XML和CSS知识足以修改标签。
  • Promote less configuration - Struts2通过使用各种设置的默认值来促进更少的配置。您不必配置某些东西,除非它偏离了由Struts2设置的默认设置。
  • View Technologies: - Struts2支持多种视图(JSP,Freemarker,Velocity和XSLT)

以上仅仅是Struts 2的十大特性。

Struts2 的缺点

虽然Struts 2附带了一些很棒的功能,但是也有一些缺点,仍需要大量的改进:

  • 更复杂的学习曲线 - 要使用MVC与Struts,你必须适应使用标准的JSP,Servlet API和一个庞大而精致的框架。
  • 文档缺乏 - 与标准的servlet和JSP API相比,Struts的在线资源较少,并且Apache文档很混乱、组织方式极差。
  • 透明度较低 - 使用Struts应用程序,与使用常规的基于Java的Web应用程序相比,后台有更多的操作,这使得框架很难以理解。

最后要说明的是,一个好的框架应该提供“更通用的行为”,以便不同类型的应用程序可以更好地利用它。Struts 2是最好的Web框架之一,被高度应用于开发富互联网应用(RIA)。

时间: 2024-10-12 07:10:22

Struts2笔记02——Struts2 概述(转)的相关文章

Struts2 笔记(1) Struts2引入/Action

1.strust2框架来历简介: WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的J2EE Web框架.(同时也是一个成熟的基于Web的MVC框架) MVC:Model View Controller, model是模型,view是视图,controller是控制器,是一种框架模式. 随着WebWork框架的发展,衍生出了strust2框架,因此strust2框架是WebWork的升级,而不是一个全新的框架,因此稳点性.性能等方面都有很好的保证,而且也同时吸收了st

Struts2笔记1

一.简介 1.作用于web层:Struts2是一种基于MVC模式的轻量级Web框架; 2.各文件夹简介: ?    apps:该文件夹存用于存放官方提供的Struts2示例程序,这些程序可以作为学习者的学习资料,可为学习者提供很好的参照.各示例均为war文件,可以通过zip方式进行解压. ?    docs:该文件夹用于存放官方提供的Struts2文档,包括Struts2的快速入门.Struts2的文档,以及API文档等内容. ?    lib:该文件夹用于存放Struts2的核心类库,以及St

struts2笔记01-环境搭建

1.官网下载struts2 struts-2.3.28-all.zip,这个包可谓应有尽有,以后全靠它了! 2.jar包怎么选?       (1)struts-2.3.28-all\struts-2.3.28\lib\*.jar,可以选这个目录下的所有jar包,不过是不是太多了?应该没有必要吧! (2)struts-2.3.28-all\struts-2.3.28\apps,这个目录是干嘛的?是一些例子啊,进去瞧瞧吧,有几个war包,解压一个看看! (3)struts2-blank.war,解

OGG学习笔记02

实验环境:源端:192.168.1.30,Oracle 10.2.0.5 单实例目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1.模拟源数据库业务持续运行 2.配置OGG前期准备 3.配置OGG单向复制 1.模拟源数据库业务持续运行 OGG的单向配置比较简单,但实际生产过程很多业务要求不间断运行,所以我创建了2张模拟业务表,简单模拟在业务不间断运行场景下OGG的配置. 1.1 创建模拟的业务用户 首先我创建业务用户jy,并指定密码,赋予基本业务用户的角色权限. --u

【OpenGL 学习笔记02】宽点画线

我们要知道,有三种绘图操作是最基本的:清除窗口,绘制几何图形,绘制光栅化对象. 光栅化对象后面再解释. 1.清除窗口 比如我们可以同时清除颜色缓冲区和深度缓冲区 glClearColor (0.0, 0.0, 0.0, 0.0);//指定颜色缓冲区清除为黑色 glClearDepth(1.0);//指定深度缓冲区的清除值为1.0 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//指定要清除的缓冲区并清除 2.绘制几何图形 先要设置绘制颜色,

【Struts2】★☆之struts2对Action提交方法进行验证

[Struts2]★☆之struts2对Action提交方法进行验证 在实际的开发项目中,我们通常采用的是js对我们输入的值进行验证,例如,用户名的长度,密码长度,等等.但是这样做,不好之处就是我们可以通过人为的将开发者的验证js注掉,这样就导致验证失败,对后台安全性是一个很大的威胁,在采用struts2进行开发时,我们可以采用框架内置的校验器,对我们的Action进行校验.本文所讲诉的就是如何使用重写struts2中的ActionSupport里面的validate方法对输入值进行校验. ok

相克军_Oracle体系_随堂笔记003-体系概述

1.进程结构图 对Oracle生产库来讲,服务器进程(可以简单理解是前台进程)的数量远远大于后台进程.因为一个用户进程对应了一个服务器进程. 而且后台进程一般出问题几率不大,所以学习重点也是服务器进程和PGA的关系(容易出问题). 2.Oracle 实例管理 6大共享池,5大后台进程,3大文件 控制文件:记录了各文件存放的位置以及当前的运行状态: 数据文件:存放数据: 重做日志文件:对数据文件所有的修改记录: 补充知识点: (1)实际生产环境中可以多个实例(一般是2个,4个,8个)对应一个数据库

SWIFT学习笔记02

1.//下面的这些浮点字面量都等于十进制的12.1875: let decimalDouble = 12.1875 let exponentDouble = 1.21875e1 let hexadecimalDouble = 0xC.3p0//==12+3*(1/16) 2.//类型别名,用typealias关键字来定义类型别名 typealias AudioSample = UInt16 var maxAmplitudeFound = AudioSample.min 3.//元组 let ht

Blender学习笔记 | 02 | 操作

Shift 点击不同图层 同时显示多图层物件 z 切换 Solid / Wireframe 视图模式 点选物件后M 移动到图层选项 Ctrl + 鼠标左键拖动 自由全选物件 B 方形区域圈选物件 Tab Object / Edit Mode 切换 T 开 / 关 侧栏 Ctrl + Tab 编辑状态下切换编辑对象 E Extrude Region 推挤区域.以发现为轴线. X 删除物件菜单 Blender学习笔记 | 02 | 操作,布布扣,bubuko.com