zoukankan      html  css  js  c++  java
  • Struts2概述及与Struts1的对照


    Struts2 概述


    1,仍然是一个基于请求响应的MVC框架

    2Struts2不是Struts1的升级

    3Struts2Struts1的体系结构差距非常大

    4Struts2採用了还有一个MVC框架WebWork的核心设计

    5Struts2更优秀:松耦合设计。。

     

    Struts1Struts2的对照


    1Action方面


    Struts1Action必须继承;Struts1是单例的,存在线程安全问题;控制运行方面。Struts1固定不变的

    Struts2Action能够不继承;Struts2是多例的。没有线程安全问题;控制运行方面,Struts2通过拦截器。能够改变运行流程,灵活配置的


    2,Servlet API依赖与可測试性


    Struts1Action測试性不好,Struts1中的Action须要依赖Servlet API,由于须要容器支持,由于在Action依赖Servlet API

    Struts2Action測试性不好。Struts2中的Actionk能够不用依赖ServletAPI,能够直接写一个单元測试完毕。由于Struts2Aciton是一个POJO对象


    3ActionForm方面


    Struts1收集数据通常使用ActionForm,ActionForm还须要继承。使得ActionForm的复用率减少。另外项目非常大会建立非常多ActionForm给维护带来工作量,但也有优点,数据的收集和控制进行非常好的分离。

    Struts2能够不用使用ActionForm来收集数据。直接让Action来收集 数据,但也能够採用相似ActionForm的方式来收集数据,Struts2採用ModelDriven的方式来支持相似Struts1ActionForm方式。所以Struts2更灵活。


    4,类型转换与表达式语言方面


    Struts1ActionForm的类型转换採用 commons-beanutils工具。而定义完毕一个转换器,将对全部的ActionForm起作用,而不能针对某一个ActionForm来配置是否使用此类型的转换器。

    Struts1中我们通常使用JSTL作为显示层绑定数据的方式。

    Struts2使用OGNL进行类型转换。功能更加强大,转换过程能够针对某个类型进行配置。;Struts2中我们能够使用功能更强大的表达式语言OGNLObject Graph Notation Language


    5,校验


    Struts1採用覆盖ActionForm中的validate()方法或採用验证框架commons validator来验证

    Struts2支持使用覆盖validate()方法来完毕验证,也支持验证框架XWork来验证。

     

     

     

     

     


  • 相关阅读:
    .net调用存储过程详解
    SQL SERVER 与ACCESS、EXCEL的数据转换
    dedecms 织梦 获取文章链接地址
    用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
    SQL Server触发器创建、删除、修改、查看示例步骤
    (后缀数组模板)BZOJ1031[JSOI2007]字符加密Cipher
    LOJ2055「TJOI / HEOI2016」排序
    BZOJ1096[ZJOI2007]仓库建设
    POI2011Meteors
    数位dp(1)
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7095148.html
Copyright © 2011-2022 走看看