zoukankan      html  css  js  c++  java
  • 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:不改变源代码,增加新的功能,通过代理实现.把功能定义到通知里面,

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

      

  • 相关阅读:
    C# 创建Excel并写入内容
    c#中使用excel
    C#中EXCEL表格的内容进度条实现
    WinForm c#操作Excel
    如何使用 Visual C# .NET 处理 Excel 事件
    C#与Excel的交互示例
    c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件
    C#在excel中添加超链接
    ASP.NET学习笔记(3)
    ASP.NET学习笔记(4)
  • 原文地址:https://www.cnblogs.com/avrilliu/p/3237998.html
Copyright © 2011-2022 走看看