zoukankan      html  css  js  c++  java
  • Struts2笔记——与ServletAPI解耦

    与ServletAPI解耦的访问方式

    为了避免与 Servlet API 耦合在一起, 方便 Action 做单元测试, Struts2 对 HttpServletRequest, HttpSession 和 ServletContext 进行了封装, 构造了 3 个 Map 对象来替代这 3 个对象, 在 Action 中可以直接使用 HttpServletRequest, HttpSession, ServletContext 对应的 Map 对象来保存和读取数据. 

    ========================================

    访问request/session/application对象 

    方法一:通过ServletActionContext类直接获取
     

    * ActionContext 是 Action执行的上下文对象, 在 ActionContext 中保存了 Action执行所需要的所有对象, 包括 parameters,request, session, application 等.
    * 获取 HttpServletRequest 对应的 Map对象:
        >public Object get(Object key): ActionContext 类中没有提供类似 getRequest() 这样的方法来获取HttpServletRequest 对应的 Map对象. 要得到HttpServletRequest 对应的 Map对象, 可以通过为 get()方法传递 “request” 参数实现
    * 获取 HttpSession 对应的 Map对象: 
        >public Map getSession()
     * 获取 ServletContext 对应的 Map对象:

        >public Map getApplication() 

    图片
    ----------------------

    方法二:实现指定接口,由struts框架运行时注入:  

    Action 类通过可以实现某些特定的接口, 让Struts2 框架在运行时向 Action 实例注入 parameters,request, session 和 application 对应的 Map 对象:  

    图片

    图片

    ========================================

    访问request/session/application对象中的属性

    图片
     

  • 相关阅读:
    如何在centos上安装epel源
    Linux基础命令之cat使用方法大全
    Python正则表达式一: 基本使用方法
    Python 2.7 学习笔记 中文处理
    python 中 json的处理
    centos下网络代理服务器的配置
    centos7 在 vmware下的安装与配置
    Linux学习:find、chmod、ps命令
    Linux学习:netstat命令
    Linux学习:curl 与 wget命令
  • 原文地址:https://www.cnblogs.com/pwc1996/p/4839158.html
Copyright © 2011-2022 走看看