zoukankan      html  css  js  c++  java
  • Struts2笔记--Action访问Servlet API


      Web应用中通常需要访问的Servlet API就是HttpServletRequest、HttpSession和ServletContext,这三个接口分别代表JSP内置对象中的request、session和application。


    1.使用Struts2提供的ActionContext类来访问Servlet API。下面是ActionContext类中包含的几个常用方法。

      Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(String name)方法。

      Map getApplication():返回一个Map对象,该对象模拟了该应用的ServletContext实例。

      static ActionContext getContext():静态方法,获取系统的ActionContext实例。

      Map getParameters():获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap()方法。

      Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例。

      void setApplication(Map application):直接传入一个Map实例,将该Map实例里的key-value对转换成application的属性名、属性值。

      void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名、属性值。

      eg:
      通过ActionContext设置application范围的属性

        ActionContext ctx = ActionContext.getContext();
        ctx.getApplication.put("name","aaa");

      通过ActionContext设置request范围的属性

       ctx.put("name","bbb");

    2.虽然Struts2提供了ActionContext来访问Servlet API,但这种访问不是直接获得Servlet API的实例,为了直接在Action中访问Serlvet API,struts2提供了如下几个接口

      ServletContextAware:实现该接口的Action可以直接访问Web应用的ServletContext实例。

      ServletRequestAware:实现该接口的Action可以直接访问用户请求的HttpServletRequest实例。

      ServletResponseAware:实现该接口的Action可以直接访问服务器响应的HttpSerlvetResponse实例。

    3.使用ServletActionContext访问Servlet API

      为了能直接访问Servlet API,Struts2还提供了一个ServletActionContext工具类,这个类包含了如下几个静态方法。

      static PageContext getPageContext():取得Web应用的PageContext的对象。

      static HttpServletRequest getRequest():取得Web应用的HttpServletRequest对象。

      static HttpServletResponse getResponse():取得Web应用的HttpServletResponse对象。

      static ServletContext getServletContext():取得Web应用的ServletContext对象。

  • 相关阅读:
    野指针、NULL指针和void*
    Windows获取其他进程中Edit控件的内容
    error:LNK2005 已经在*.obj中定义
    2018-2019-1 20165226 《信息安全系统设计基础》第6周学习总结
    # 2018-2019-1 20165226 《信息安全系统设计基础》第5周学习总结
    2018-2019-1 20165310 20165315 20165226 实验一 开发环境的熟悉
    2018-2019-1 20165226 《信息安全系统设计基础》第4周学习总结
    2018-2019-1 20165226 《信息安全系统设计基础》第3周学习总结
    缓冲区溢出漏洞实验
    2018-2019-1 20165226 《信息安全系统设计基础》第2周学习总结
  • 原文地址:https://www.cnblogs.com/eleven258/p/8358007.html
Copyright © 2011-2022 走看看