• Struts2学习(二)


    1.Struts2的Servlet的API的访问

      1.1   完全解耦合的方式

        ActionContext context = ActionContext.getContext( );

        通过context获取request、response等

        

          *****注意:这种方式只能获得代表request、session、application的数据的Map集合,不能操作这些对象的本身的方法。

       1.2  使用Servlet的API的原生方式

         通过ServletActionContext.getXXX( ) 获得request、response

          HttpServletRequest request = ServletActionContext.getRequest( );

          

       1.3   接口注入的方式

    2、Servlet 和 Action 的安全问题

      Servlet是单例的,多个程序访问同一个Servlet只会创建一个Servlet的实例。

      Action是多例的,一次请求,创建一个Action的实例(不会出现线程安全的问题)。

    3、结果页面的配置

        3.1 全局配置

        

        3.2、局部配置

        

    4、result标签的配置

      result标签用于配置页面的跳转。在result标签上有两个属性:

        name属性       :逻辑视图的名称。默认值:success

        type属性         :页面跳转的类型。

          dispatcher       :默认值,请求转发。(Action转发JSP

          redirect             :重定向。(Action重定向JSP

          chain                  :转发。(Action转发Action)

          edirectAction :重定向。(Action重定向Action)

          stream               :Struts2中提供文件下载的功能

     5、数据封装方式

      5.1   属性驱动:提供属性set方法的方式(不常用)

      5.2  属性驱动:页面中提供表达式方式(*****)

      

      

       5.3   模型驱动:采用模型驱动方式(最常用):实现ModelDriven<Class>接口

       

    注意:模型驱动方式最常用的方式:

      缺点:只能同时向一个对象中封装数据。对于复杂数据的封装(集合),使用页面表达式封装,可以向多个对象中同时封装数据:

     

  • 相关阅读:
    LeetCode(287)Find the Duplicate Number
    LeetCode(290) Word Pattern
    LeetCode(205)Isomorphic Strings
    LeetCode(201) Bitwise AND of Numbers Range
    LeetCode(200) Number of Islands
    LeetCode(220) Contains Duplicate III
    LeetCode(219) Contains Duplicate II
    命令行执行Qt程序
    LeetCode(228) Summary Ranges
    redis 的安装和使用记录
  • 原文地址:https://www.cnblogs.com/dongtian-blogs/p/10595582.html
Copyright © 2020-2023  润新知