分享

学习structs(一)

 duduwolf 2005-07-20
Structs的缺点
  1. 调试困难
  2. 没有事件模型
  3. 没有缺省的或推荐的数据模型,访问持久数据的任务留给了开发人员。
  4. 单一的ActionServlet,一个应用程序只能使用一个ActionServlet,这可能导致配置冲突。
  5. 学习时间较长。
  6. i18n 限制,对国际化的资源和错误信息的处理非常好,但不适合于大文本块。
  7. JSP异常不能本地化,通常显示为英语。
  8. Tag属性冗长,许多标记扩展要求很多参数,对编程来说很笨拙。
  9. Action 类是Struts支持的唯一"分发者",并仅通过其execute方法法来调用。这使得应用程序在只能和在execute方法中传递进来的数据一起工作。即使有办法超出这个限制, execute方法也是个瓶颈。一般一个请求要求ActionServlet组装几个ActionForm。但是因为execute只能接受单个ActionForm 参数,如果不经过较大的框架革新是不可行的。
  10. 模糊的术语。框架在明显的增长。而给一些应用选项和类的名称却容易让人混淆。例如,web.xml 中的"validate" 选项和Action 对象的validate 方法无关,而和配置文件的解析有关。同样,神秘的"null"选项则表示当消息关键字(message key)未找到时,是否返回一个错误信息。
    有个趋势是在类层次树中使用复合名称。在Action包中的每个类都有个前缀为"Action",这是多余的,容易混淆。同时,在Struts配置文件中, ActionMappings 定义的元素名是"Action" 而不是"ActionMapping" 。如果开发人员引用一个"Action", 很难区别它们是指Action 类或是配置类的ActionMapping。
    在Struts 配置中,用"name"来标识ActionForward 和ActionForms,用"path"来标识ActionMapping。action-mapping元素中的"name"属性则指使用哪个ActionForm 。ActionForward 的URI域也被命名为"path",但可以包括带有"path"的查询组件。ActionMapping 的"path" 不包括像*.do这样的servlet样式, 但是ActionForward的"path"却包括*.do的扩展。应用资源其实是真正的消息资源,等等。
    这些小矛盾可以把一些新手搞糊涂,并且使框架难以学习。

Structs的优点:

  1. 以HTTP为中心:Struts设计围绕标准HTTP 请求-响应模式,为许多Web开发人员所熟悉。
  2. 标准记录:Struts可以使用容器的缺省记录系统,而不需要配置和理解其他包。
  3. 可选的调试记录:Struts 可选记录大量状态处理时的信息,它们可以有助于进行调试。
  4. 模型中立:Struts 并不倾向于哪个特定的持久层。
  5. 在一个核心配置中汇集实现细节:Struts 配置文件封装了应用程序或应用模块的实现细节。所以它们可以作为一个整体来评价和管理。
  6. 允许为每个场所配置不同的消息资源:不同的译者可以在他们自己的消息资源文件版本上工作。添加一个新的本地化支持仅需简单地添加一个资源文件。
  7. 轻量Struts :仅有几个核心类要学习。
  8. 开源:全部源代码在自由的Apache 软件许可下,所有的选择都在你。
  9. 强大的开发人员团体:有一个强大的开发人员团体使用Struts。邮件列表时非常活跃的。许多开发人员的扩展是很成功的。
  10. 强大的供应商团体:Struts 已经和其他一些产品合在一起,包括Jcorporate的Expresso和IBM的WebSphere.。一些厂商也提供Struts专用工具。
  11. 强大的产品支持:Struts 有自己的JGuru 论坛。Struts邮件列表至少可以通过两种方式进行访问。Struts 已经被许多文章和书籍涉及到,并有一些组织提供专业的教程。
  12. 强大的开发团队超过30个开发人员为Struts 1.1做贡献。Struts团队现在有九个活跃的全职志愿者。
  13. 稳定发布版本:Struts正式发布版本要经过长期的测试,并没有最后期限,所以团队可以提供高质量的产品。
  14. i18n 支持:内建国际化支持。
  15. 高度兼容:Struts专注于提供公共标准100%兼容的产品。
  16. 全方位的标记扩展:Struts包括一系列通用标记扩展。可以完全符合你JSP 需要,而不用再编写脚本程序。
  17. 良好的文档:Struts JavaDoc非常详细,以使你几乎不需要参考源代码。这其实是个高级别的用户指南。
  18. 建立在设计模式之上:Struts 框架在其架构中实现了一些经典的设计模式,这些模式为许多开发人员所熟知。
  19. 可扩展性:所有默认的设置都可以配置。核心Struts可以被重写,和子类化。开发人员可以定制关键的类,如ActionForm 和Action。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多