您的位置:首页 > 移动开发

struts2获取request,session,application4种方式

2012-06-26 09:40 676 查看
第一种,依赖容器获取:                            

private Map request;  

    private Map session;  

    private Map application;  

    public ActionTest()  

    {  

        request=(Map)ActionContext.getContext().get("request");  

        session=ActionContext.getContext().getSession();  

        application=ActionContext.getContext().getApplication();  

    }  

 

第二种,IoC方式,是通过依赖注入方式获取到对象,需要实现相应的接口为RequestAware,SessionAware,ApplicationAware:                      

private Map<String,Object> request;  

    private Map<String,Object> session;  

    private Map<String,Object> application;  

      

    public void setRequest(Map<String, Object> request) {  

        this.request = request;  

    }  

  

    public void setSession(Map<String, Object> session) {  

        this.session = session;  

    }  

  

    public void setApplication(Map<String, Object> application) {  

        this.application = application;  

    }  

 

第三种,获取的是原型:

                              

private HttpServletRequest request;  

    private HttpSession session;  

    private ServletContext application;  

      

    public ActionTest()  

    {  

        request=ServletActionContext.getRequest();  

        session=request.getSession();  

        application=session.getServletContext();  

    }  

 

第四种,通过IoC获取原型,需要实现ServletRequestAware,并且要实现setServletRequest方法:                             

private HttpServletRequest request;  

    private HttpSession session;  

    private ServletContext application;  

      

    public void setServletRequest(HttpServletRequest request)  

    {  

        this.request=request;  

        this.session=request.getSession();  

        this.application=session.getServletContext();  

    }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息