一、 它太过于依赖web容器,当配置文件改动一次就要重新启动
转到展示层时,需要配置forward,每一次转到展示层,相信大多数都是直接转到jsp,而涉及到转向,需要配置forward,如果有十个展示层的jsp,需要配置十次struts,而且还不包括有时候目录、文件变更,需要重新修改forward,注意,每次修改配置之后,要求重新部署整个项目,而tomcat这样的服务器,还必须重新启动服务器,如果业务变更复杂频繁的系统,这样的操作简单不可想象。
二、 Struts 的Action必需是thread-safe方式,它仅仅允许一个实例去处理所有的请求。所以action用到的所有的资源都必需统一同步,这个就引起了线程安全的问题。
三、 测试不方便.
Struts的每个Action都同Web层耦合在一起,这样它的测试依赖于Web容器,单元测试也很难实现。不过有一个Junit的扩展工具 Struts TestCase可以实现它的单元测试。
四、 类型的转换.
Struts的FormBean把所有的数据都作为String类型,它可以使用工具Commons-Beanutils进行类型转化。但它的转化都是在Class级别,而且转化的类型是不可配置的。类型转化时的错误信息返回给用户也是非常困难的。
五、 对Servlet的依赖性过强.
Struts处理Action时必需要依赖ServletRequest 和ServletResponse,所以它摆脱不了Servlet容器,测试也比较困难。
六、 支持的表现层技术单一
Struts 1只支持JSP作为表现层技术,不提供与其他表现层技术,例如Velocity、FreeMarker等技术的整合。
前端表达式语言方面.Struts集成了JSTL,所以它主要使用JSTL的表达式语言来获取数据。可是JSTL的表达式语言在Collection和索引属性方面处理显得很弱。
七、 对Action执行的控制困难.
Struts创建一个Action,如果想控制它的执行顺序将会非常困难。甚至你要重新去写Servlet来实现你的这个功能需求。
八、 对Action 执行前和后的处理.
Struts处理Action的时候是基于class的hierarchies(层次结构),很难在action处理前和后进行操作。
九、 对事件支持不够.
在struts中,实际是一个表单Form对应一个Action类(或DispatchAction),换一句话说:在Struts中实际是一个表单只能对应一个事件,struts这种事件方式称为application event,application event和component event相比是一种粗粒度的事件。
分享到:
相关推荐
### STRUTS2 优缺点分析 #### 一、STRUTS2 优点概述 **1. Action 实现灵活性:** - **STRUTS2 的 Action 设计更灵活:**与 STRUTS1 中 Action 必须继承自 `Action` 类不同,STRUTS2 允许 Action 作为 POJO(Plain...
Struts1的优缺点** 优点: - 结构清晰,代码解耦,便于维护。 - 提供了丰富的标签库,简化视图层开发。 - 强大的异常处理机制。 缺点: - 性能相比现代框架较低。 - 动态性较差,对RESTful支持不足。 - 配置文件较...
- **缺点**:相较于Struts1,WebWork/Struts2的社区规模较小,获取帮助和资源相对困难;官方文档组织不够清晰,初学者可能难以快速上手。 #### 迁移原因 迁移到Struts2的主要原因包括: - **性能提升**:Struts2在...
Struts、Spring 和 Hibernate 是Java Web开发中三大主流的开源框架,它们各自有着独特的功能和优缺点。在构建企业级应用程序时,理解这些框架的核心特性以及它们如何相互补充至关重要。 Struts 是一个基于MVC...
这个压缩包包含了Struts 1和Struts 2两个版本的核心库和其他相关依赖,是开发和运行Struts应用的基础。 1. **Struts 1** - **概述**:Struts 1是最早的版本,于2000年发布,它是基于Servlet和JSP技术的,旨在解决...
- **缺点**:对于复杂的应用场景,Struts的配置较为繁琐;与最新的Web技术和趋势相比,Struts的发展速度相对较慢。 #### 构建示例应用 - **Logon应用**:该应用是一个简单的登录系统,主要包括欢迎页面、登录页面...
Struts1.x与Struts2.x是两种非常流行的Java Web应用程序框架,它们都由Apache软件基金会开发,旨在简化MVC(Model-View-Controller)架构的实现。然而,两者在设计哲学、功能特性以及实现方式上存在显著差异。以下是...
### SSH框架:Struts、Hibernate、Spring 的优缺点分析 #### Struts **优点:** 1. **MVC模式的支持**:Struts框架遵循MVC(Model-View-Controller)设计模式,它将应用程序分为模型层、视图层和控制器层,这样的...
Struts 1 和 Struts 2 是两个广泛使用的Java Web应用程序框架,它们为开发者提供了构建MVC(模型-视图-控制器)架构的应用程序的方法。本文将深入比较这两个框架,探讨它们的核心特性、优势和差异。 首先,让我们...
Struts1是一个经典的Java Web框架,它为开发者提供了一种结构化的MVC(Model-View-Controller)设计模式实现方式,极大地简化了Web应用的开发。在Struts1中,文件上传功能通常依赖于Apache Commons FileUpload库。...
### Struts1与Struts2的主要区别 #### 类的设计与实现 - **Struts1**:在Struts1中,`Action`类必须继承自一个特定的抽象基类,这限制了开发者的灵活性,同时也意味着所有的`Action`类都会有一些共同的行为。这种...
Struts,Spring,Hibernate优缺点_fly.mht
Struts1虽然在Java社区有着广泛的应用,但随着技术的发展,它的缺点也逐渐暴露出来,如性能瓶颈、代码耦合度高、缺乏现代Web开发的支持等。因此,Struts2作为其后续版本,引入了更多改进和新特性,如更强大的表达式...
1. **开源性**:Struts作为Apache基金会的项目,其源代码公开,开发者可以深入了解其工作原理,方便定制和扩展。 2. **Taglib**:Struts提供了丰富的标签库,可以简化JSP页面的编写,提高开发效率,同时使得页面逻辑...
Struts2 和 Struts1 是两种常用的 Java Web 开发框架,它们都有其优缺点,本文将对 Struts2 和 Struts1 的优缺点进行详细介绍。 Struts2 的优点 1. 松耦合架构:Struts2 采用松耦合架构,各个组件之间松散耦合,...
三、Struts1的优缺点 优点: 1. 结构清晰:遵循MVC模式,代码结构清晰,易于维护。 2. 配置灵活:通过struts-config.xml配置文件可以灵活调整应用结构。 3. 社区支持:由于其历史悠久,拥有丰富的文档和社区支持。 ...
通过学习Struts1和Struts2的PPT,你可以深入了解这两种框架的使用场景、优缺点以及如何在实际项目中应用它们。这将有助于提升你的Java Web开发技能,更好地理解和掌握MVC模式在实际项目中的运用。
JavaServer Faces (JSF) 和 Apache Struts 是两种流行的Java Web开发框架,它们都有各自的优点和缺点。在选择使用哪种框架时,开发者需要考虑项目的特定需求、团队的技术背景以及对框架未来发展的预期。 JSF,作为...