• struts2学习笔记之一_struts1和struts2的区别


    1.struts2是struts1和webwork的合体

    2.struts1:基于servlet

      1)ActionServlet作用:

      (1)接受请求->寻找frombean>实例化formbean>实例化后组装进来>判断是否需要校验>如果需要校验再调用ActionForm的校验方法,返回值是AcctionErrors类型,返回给ActionServlet>判断返回的AcctionErrors有效性,如果有效存到request域中>再跳转到input页面(/xxx.jsp)

      (2)到Action页面>负责Action实例化>再把Action返回>在调用他的execute(ActionMapping am,ActionForm af,request,reponse)方法,返回ActionForward对象>对返回的对象进行解析>解析完再跳转到相应的jsp页面>

      缺陷:ActionServlet的任务过于集中,不容易维护,不容易扩展

      2)action是单例的(有同一个action实例处理所有的到达该action请求),所以不要再action中声明实例变量.(共享)

      3)actionForm:造成类的爆炸,

        4)耦合性搞,action类中需要引入struts1的api(ActionMapping ActionForm)同时还有元素的httpServlet(request,response)

    3.struts2:基于Filter

      1)分离关注(来源于webwork,类似于spring aop),

         分离关注:将web开发中的常规任务剥离开来,分别交给不同组件(拦截器),处理.eg:参数传         递,类型的数据转换,国际化,文件上传,处理表单的重复提交

      2)action是原型(独占的,不共享,可以存放客户端的状态),

      3)没有actionForm,用pojo(action,javabean)接收数据,极大的减少了类的数量

      4)action:就是pojo,和struts2中的api和原生的servlet api松耦合,测试性,一致性,移植性和可维护性很高.

    4.spring

      spring中出现了aop:不改变源代码,增加新的功能,通过代理实现.把功能定义到通知里面,

                把那些任务单独脱离出来,形成独立的一块,叫做切面

      

  • 相关阅读:
    深入比特币原理(四)——锁定脚本(locking script)与解锁脚本(unlocking script)
    深入比特币原理(三)——交易的输入(input)与输出(output)
    深入比特币原理(二)——比特币密钥地址生成
    [JLOI2013]删除物品
    [POI2007]MEG-Megalopolis
    [HNOI2008]遥远的行星
    [JSOI2008]最大数maxnumber
    [HNOI2008]水平可见直线
    [JSOI2008]星球大战starwar
    [HNOI2008]越狱
  • 原文地址:https://www.cnblogs.com/avrilliu/p/3237998.html
Copyright © 2020-2023  润新知