Struts2 Action访问Servlet API

Struts2提供了ActionContext类来访问ServletAPI

  • ActionContext中常用的方法
    • Object get(Object key):类似于调用HttpServletRequest的getAttribute(String name)方法
    • Map getApplication(): 模拟了该应用的ServletContext实例
    • static ActionContext getContext():获取系统的ActionContext实例
    • Map getParameters():获取所有请求参数
    • Map getSession():模拟了HttpSession实例
    • void setApplication(Map application):将Map实例里的key:value值转换成application的属性名和属性值
    • void setSession(Map session):将Map实例里的key:value值转换成session的属性名和属性值
  • request , session 和 application 只是作用范围不同,相当于不同作用范围的仓库

更加直接的方式访问Servlet API

  • Action实现以下接口:
    • ServletContextAware : 直接访问WEB应用的ServletContext实例
    • ServletRequestAware : 直接访问用户请求的HttpServletRequest实例
    • ServletResponseAware : 直接访问服务器响应的HttpServletResponse实例
      • Cookie
      • 此处HttpServletResponse不能生成服务器响应,例如:
        • response.getWriter().println(“hello,world”);

使用ServletActionContext访问Servlet API

  • ServletActionContext包含了如下静态方法:
    • static PageContext getPageContext() : 取得WEB应用的PageContext对象.
    • static HttpServletRequest getRequest() : 取得WEB应用的HttpServletRequest 对象
    • static HttpServletResponse getResponse() : 取得WEB应用的HttpServletResponse 对象.
    • static ServletContext getServletContext() : 取得WEB应用的ServletContext 对象.
  • 虽然此方法不用实现XxxAware接口,但是Action仍与Servlet API 直接耦合,不利于高层解耦.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值