程序员之家|编程入门网|程序员网站|CSDN论坛|IT技术交流社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 379|回复: 0

Strut2访问Servlet API有几种方法

[复制链接]
  • TA的每日心情
    难过
    4 天前
  • 签到天数: 193 天

    [LV.7]常住居民III

    334

    主题

    669

    帖子

    5889

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    5889
    发表于 2018-3-13 13:48:08 | 显示全部楼层 |阅读模式
    [Java] 纯文本查看 复制代码
    一、非IOC方式(耦合度低)
         1.Struts2提供了一个ActionContext类,Struts2的Action可以通过该类来访问Servlet API(推荐使用该方法)(非IOC方式)
    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的属性名、属性值。
    
       2. 使用ServletActionContext访问Servlet API
    ServletActionContext工具类包含如下的几个静态方法:
    
    static PageContext getPageContext(); 取得web应用的PageContext对象
    static HttpServletRequest getRequest(); 取得web应用的HttpServletRequest对象
    static HttpServletResponse getResponse(); 取得web应用的HttpServletResponse对象
    static ServletContext getServletContext(); 取得web应用的ServletContext对象
    
    
    二 IOC(控制反转Inversion of Control  耦合度高)
    
    ServletContextAware:实现该接口的Action可以直接访问Web应用的ServletContext实例
    ServletRequestAware:实现该接口的Action可以直接访问用户请求的HttpServletRequest实例
    ServletResponseAware:实现该接口的Action可以直接访问服务器响应的HttpServletResponse实例



    上一篇:java.util.date转java.sql.date列子
    下一篇:Java中的final关键字
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Java社区|Java交流论坛|.NET(C#)社区|C#交流论坛|网站地图|小黑屋|爱上程序员,IT交流平台 ( 皖ICP备17003512号 )

    拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表本站立场!

    本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场
    ----------------------------如有侵权、后门、不妥请联系本站删除---------------------------

    GMT+8, 2018-9-19 23:43 , Processed in 0.139720 second(s), 29 queries .

    Powered by Discuz! X3.4

    快速回复 返回顶部 返回列表