原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm

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)。

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

  1. struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持

    Struts2的上传 1. Struts2默认采用了apache commons-fileupload  2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload ...

  2. Struts2笔记1:--Struts2原理、优点、编程流程、6大配置文件以及核心配置文件struts.xml

    Struts2原理(底层使用的是Servlet的doFilter方法): Struts2优点: 第一个Struts程序: 在开发Struts程序之前,首先要导入额外的jar包,基本需求的是14个jar ...

  3. struts2笔记(3)

    关于回显: 如果是int型,默认就会回显为0,如果不想让回显,则Integer就好 //**************************************声明式验证************* ...

  4. Struts2笔记分享(一)

    Struts2概述1.简介Struts就是在Model2的基础上实现的一个MVC框架,它只有一个中心控制器,采用XML定制的转向的URL,采用Action来处理逻辑.2.Struts2的MVC模式MV ...

  5. struts2笔记

    Struts2 中, HTML 表单将被直接映射到一个 POJO,通过params拦截器,类中定义对应属性,及对应set方法即可. Struts2 中,任何一个POJO都可以是一个action类. S ...

  6. struts2笔记01-环境搭建

    1.官网下载struts2 struts-2.3.28-all.zip,这个包可谓应有尽有,以后全靠它了! 2.jar包怎么选?       (1)struts-2.3.28-all\struts-2 ...

  7. Struts2笔记1

    一.简介 1.作用于web层:Struts2是一种基于MVC模式的轻量级Web框架; 2.各文件夹简介:     apps:该文件夹存用于存放官方提供的Struts2示例程序,这些程序可以作为学习者 ...

  8. Struts2入门1 Struts2基础知识

    Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hib ...

  9. OGG学习笔记02

    实验环境:源端:192.168.1.30,Oracle 10.2.0.5 单实例目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1.模拟源数据库业务持续运行 2.配置OGG前 ...

随机推荐

  1. java -- 路径中包含空格怎么处理

    @.使用toURI()方法 String rootPath = this.getClass().getClassLoader().getResource(".").toURI(). ...

  2. php 批量处理post数据

    <?php header("Content-Type:text/html;charset=UTF-8"); include('ini.php'); foreach ($_PO ...

  3. python django -2 ORM模型

    ORM简介 MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库 ORM是“对象-关系-映射”的简称 ...

  4. 关于Linq to Sql 中的left join 中defaultifempty的相关注意事项

    在使用Linq to Sql的时候,进行两个表的左连接的时候要注意defaultifempty的使用,这个函数本来的意思即是:如果为空则使用默认值代替,默认值为 NULL ,当然也可以使用defaul ...

  5. 防火墙系列之firewall

    firewalld 介绍 防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口.它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (com ...

  6. poll机制实例参考

    poll机制:为了减少CPU资源的占用率,在编写驱动函数中添加poll机制 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就 ...

  7. Android无线测试之—UiAutomator UiSelector API介绍之八

    对象搜索—特殊属性.节点与资源ID 一.特殊属性定位对象相关API 返回值 API 描述 UiSelector checkableboolean val) 是否可选择,一般开关组件上具有checkab ...

  8. Sass mixin 使用css border属性画三角形

    To be finished. //triangle@mixin css-triangle ($direction: "down", $size: 20px, $color: #0 ...

  9. EasyNVR摄像机无插件直播按需RTSP拉流播放流程详解

    1.背景需求 有许多客户现场,有许多设备但是不需要一直向设备端取视频流,因为在用户不观看的情况下,还在获取视频资源,一方面大大的浪费了网络带宽资源,一方面对设备服务器要求也较高,用户成本就要提高,这是 ...

  10. 【转】在服务器上排除问题的头五分钟&常用命令

    转自:https://blog.csdn.net/l821133235/article/details/80103106(在服务器上排除问题的头五分钟) 遇到服务器故障,问题出现的原因很少可以一下就想 ...