`
Checkmate
  • 浏览: 38838 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

4.为什么使用Struts

阅读更多

新版本的Struts2.0struts action架构和webwork的融合体.依照Struts2.0.1的发布公告,一些关键特性如下 :

 

l    设计简单: 使用抽象类而不是接口是Struts1的一个设计上的问题,这已经在Struts2中得到了解决.Struts2中绝大多数类都是基于接口的,并且它的绝大多数核心接口都是独立于HTTP.Struts2Action类是独立于框架的,可视为单纯的POJO.框架的组件都设法保持松耦合

 

l    单纯的Action : Action都是单纯的POJO.任何含有execute()方法的java类都可以当作Action类来使用.甚至我们始终都不需要实现接口.反转控制会在开发Action类的时候得到介绍过,这能让Action中立于底层框架.

 

l    不再使用ActionForm : ActionForm特性不再在Structs2中出现.简单的JavaBean即可对Action直接传递参数.不再需要全部使用String类型的参数.

 

l    简单的测试 : Struts2Action是独立于HTTP并且中立于框架的.这使得Struts2的程序可以很容易的在没有模拟对象的情况下测试.

 

l    巧妙的默认值 : 大多数配置元素都设有一个根据需要设定的默认值.甚至根据需要基于XML的默认配置文件都可以进行重写.

 

l    改良的结果集 : 不像Struts1中的ActionForward,Struts2的结果集灵活的提供了多种类型的输出,事实上这促进了响应的准备工作.

 

l    更好的标签特性 : Struts2可以添加样式表驱动标记,这使我们创建相同的页面仅用更少的代码.Struts2的标签更有效而且是面向结果的.Struts2的标签标记可以通过修改基础样式表来修改.个别的标签标记可以通过编辑FreeMarker的模板来修改.JSPFreeMarker都完全得到了支持.

 

l    引入注释 : Struts2程序中,除了XMLJava properties 配置文件外,Java 5的注释也可以作为一种选择.注释使得XML的使用降至最低.

 

l    有状态的Checkbox : Struts2中的checkbox不需要对false值进行特殊处理.

 

l    快速开始 : 很多改变无需重启web容器即可实现.

 

l    自定义控制器 : Struts1可以自定义每一个模块的请求处理器,如果需要,Struts2可以自定义每一个Action的请求处理.

 

l    易与Spring整合 : Struts2ActionSpring是友好的,只需添加Springbean

 

l    轻巧的插件 : Struts2可以通过添加一个Jar文件来进行扩展,不再需要手动配置!

 

l    支持AJAX : AJAX主题对提升程序交互有着重要的意义.Struts2框架提供了一套标签来AJAX化你的程序甚至DOJO.AJAX特性包括:

1.      AJAX客户端验证.

2.      支持远程表单提交.(同样适用于submit标签)

3.      先进的div模板提供动态重载部份HTML

4.      先进的模板提供远程加载和计算Javascript的能力.

5.      AJAX-only选项卡面板的实现

6.      丰富的发布/订阅事件模型

7.      自动交互完善标签

分享到:
评论
1 楼 云中苍月 2009-03-08  
个人感觉Struts有点多余, javascript(js开源框架)+servlet非常好了。

相关推荐

    org.springframework.web.struts-3.1.0.M2.jar

    在实际项目中,我们通常会创建一个Spring配置文件,如`spring-struts.xml`,在这个文件中声明需要管理的Action类,以及相关的拦截器和事务管理策略。同时,Struts的配置文件(struts-config.xml或struts2的struts....

    不同版本的 struts2.dtd

    - Struts2 DTD 是XML文档类型定义,它规定了struts2配置文件(如struts.xml或struts-default.xml)的语法和元素。这些元素定义了Action、结果、拦截器等配置,使得开发者可以声明式地配置应用行为。 2. **struts-...

    org.springframework.web.struts-sources-3.0.4.RELEASE.jar

    `org.springframework.web.struts`模块允许在Struts Action中使用Spring的DI功能。通过配置Spring的XML,Action实例可以在运行时动态注入所需的依赖,如DAO、Service等,减少了代码的耦合度,提高了可测试性和可...

    struts-2.3.16.3

    5. **配置文件**:如struts.xml,展示了如何配置Struts 2应用,包括Action定义、结果类型、拦截器链等。 6. **测试**:包含单元测试和集成测试,用于验证框架的正确性和性能。 总的来说,Struts 2.3.16.3版本的...

    Struts2漏洞2.0.xx升级为Struts-2.5.12步骤

    检查所有的`.struts.xml`配置文件,确保它们与新版本兼容。可能需要更新或删除不再支持的配置选项。 **7. 修复动作类和结果类型** 升级可能会引入不兼容的动作类或结果类型。确保所有动作类都遵循新版本的API,并...

    struts-2.5所有jar包

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,它在Web应用开发中被广泛使用。Struts2的核心是Action类,它负责处理用户请求,与模型进行交互,并将结果返回给视图。在Struts2的版本...

    struts.xml和struts.properties配置详解

    4. **struts.multipart.maxSize**: 文件上传的最大大小,单位为字节。 5. **struts.action.extension**: 行动映射的扩展名,默认是`action`,但可以根据需要修改。 6. **struts.enable.SlashesInActionNames**: 是否...

    org.apache.struts2.dispatcher.FilterDispatcher

    了解了`FilterDispatcher`的基本功能和工作流程后,开发者可以根据需求对其进行配置,比如添加自定义拦截器,调整过滤器的优先级,或者使用Struts 2后续版本提供的`FilterActionMapping`以提高性能和灵活性。...

    Struts2.3.15.1版本升级到2.3.32详细流程

    受影响的版本范围为Struts 2.3.5至2.3.31,以及2.5至2.5.10。此漏洞被评估为高风险等级。 - **S2-046**:与S2-045类似,也是Jakarta Multipart解析器存在的漏洞,通过操纵HTTP请求头中的Content-Type值来触发远程...

    Struts2升级到2.5.30,问题解决及过程记录

    2. **配置文件的调整**:Struts2的配置文件(如struts.xml)可能会因版本升级而需要调整。例如,新的版本可能会引入新的拦截器或动作配置,需要检查并更新配置以充分利用新特性。 3. **API变化**:新版本可能移除了...

    Struts2的常量详解

    4. struts.objectFactory struts.objectFactory 属性指定 Struts 2 默认的 ObjectFactory Bean,该属性默认值是 spring。 5. struts.objectFactory.spring.autoWrite struts.objectFactory.spring.autoWrite 属性...

    struts-2.3.15.1-lib.zip官方jar包

    4. **配置更新**:根据官方文档更新配置文件,如struts.xml或web.xml,以适应新版本的要求。 5. **测试**:升级后,进行详尽的功能测试和安全性测试,确保所有功能正常且没有新的安全漏洞引入。 6. **监控**:升级...

    struts2-sitemesh-plugin-2.2.1.1.jarstruts2

    <constant name="struts.plugin.packages" value="org.apache.struts2.sitemesh"/> ``` 3. 配置Sitemesh的全局装饰器(可选): 在`web.xml`中添加以下配置: ```xml <filter-name>decorator <filter-class>...

    struts2.5.14.1最少的jar包

    Struts2是一个非常流行的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,用于构建高效、可扩展且易于维护的企业级应用程序。Struts2.5.14.1是该框架的一个版本,它引入了若干增强功能和修复了已知...

    struts-2.1.8.1源码和struts-2.3.15.1源码

    - 如何配置和使用Struts 2的插件 - 安全性改进及如何防止常见攻击 - 深入理解Action的生命周期和Result的处理流程 总之,这两个Struts 2版本的源码提供了丰富的学习资源,帮助开发者提升对MVC框架的理解,提高开发...

    struts-2.0.dtdstruts-2.0.dtdstruts-2.0.dtd

    2. **配置环境**:为每个框架配置相应的配置文件,如Spring的`beans.xml`,Struts 2的`struts.xml`,以及Hibernate的`hibernate.cfg.xml`。 3. **整合Struts 2和Spring**:通过Struts的Spring插件实现Action类的...

    struts2-core-2.0.11源码

    4. **值栈(Value Stack)**:Struts2的模型部分主要依赖于值栈,它是`org.apache.struts2.util`包的一部分,用于存储Action的属性和结果,方便视图层直接访问。 5. **结果类型(Result Types)**:`org.apache....

    struts.xml文件详解.doc

    4. struts.objectFactory:指定Struts 2的默认ObjectFactory Bean,用于创建和管理对象。默认值取决于所使用的集成框架,如Spring。 5. struts.objectFactory.spring.autoWire:控制Spring框架的自动装配模式,默认...

    对struts1.x与struts2.x的区别的总结

    - **Struts2.x** 配置文件较少,主要为struts.xml,支持注解配置,减少XML配置的繁琐。 8. **插件与扩展性**: - **Struts1.x** 插件较少,扩展性相对较弱。 - **Struts2.x** 有丰富的插件系统,如Ajax、...

Global site tag (gtag.js) - Google Analytics