`

struts2中获得request response session对象

阅读更多

1、非IoC方式

 

     要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前Action的上下文对象。有了这个对象我们想获得其他几个对象就好办了 

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

     细心的朋友可以发现这里的session是个map对象在Struts2中底层的session都被封装成了Map类型我们可以直接操作这个map 进行对session的写入和读取操作而不用去直接操作HttpSession对象

     另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。

HttpServletRequest request = ServletActionContext.getRequest(); 
HttpServletResponse response 
= ServletActionContext.getResponse(); 
HttpSession session 
= request.getSession();



2、IoC方式

     要使用IoC方式,我们首先要告诉IoC容器(Container)想取得某个对象的意愿,通过实现相应的接口做到这点。具体实现

publicclass IoCServlet extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {

    
private Map session;
    
private HttpServletRequest servletRequest;
    
private HttpServletResponse servletResponse;    
    
   

    
    publicvoid setSession(Map session) {
        
this.session = session;
    }
    
    publicvoid setServletRequest(HttpServletRequest servletRequest) {
        
this.servletRequest = servletRequest;
    }
    
    publicvoid setServletResponse(HttpServletResponse servletResponse) {
        
this.servletResponse = servletResponse;
    }
    

}

 

3.通过ActionContext来获取

ActionContext ctx = ActionContext.getContext();        
//获取HttpServletRequest 对象       
HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);        
 
//获取 HttpServletResponse对象   
  HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);        
   
  //获取Application对象      
  //ServletActionContext.APPLICATION; 

  //获取Session对象       
  //ServletActionContext.SESSION;     
  //获取Page对象   
  //ServletActionContext.PAGE_CONTEXT

 

分享到:
评论

相关推荐

    Struts2的Action中获得request response session几种方法

    Struts2的Action中获得request response session几种方法

    struts2创建 request response session application

    一个Demo告诉你struts2如何创建 request response session application

    struts2使用request、response

    struts1中使用request、response都是方法自带的,而struts2中的request、response、session都被隐藏的了,该带代码文档会清晰的让你明白struts2中request、response在自定义方法中如何随意使用

    STRUTS2获得作用域、参数响应对象及三种符号说明

    RequestMap,SessionMap,ApplicationMap, AttributeMap. struts提供两种方式访问session,request ,response,ActionContext 使用。 获得作用域及参数响应对象及三种符号说明

    从J2SE到J2EE知识点介绍

    (五) jsp内置对象(request,response.session,out) 121 1. request和response 121 2. session 122 (六) Servlet的 xml配置 126 1. xml的文件结构 127 2. 通过web.xml配置文件访问servlet的流程 129 (七) servlet里面...

    POI导入导出EXCEL文件.(struts 1.x and struts2.x).doc

    struts1.x的例子,struts2.x可以参考自己修改 1.action的写法 import java.io.*; import java.sql.*; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet....

    BaseAction

    在Struts2中,操作Servlet API 的BaseAction 包括获取Request对象、获取Session对象、获取ServletContext对象、获取Response对象

    struts2的学习笔记+测试源代码

    如何获取request,session,response对象 博文链接:https://wuzhaohuixy-qq-com.iteye.com/blog/710102

    django框架实现模板中获取request 的各种信息示例

    本文实例讲述了django框架实现模板中获取request 的各种信息。分享给大家供大家参考,具体如下: 在做网页程序时,request,response 是少不了的,这是最基本的东西。但 django有自己的框架,在展示层,很少用到直接...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...

    struts 标签 logic:iterate使用 logic:iterate

    ActionForm form, HttpServletRequest request, HttpServletResponse response) { InformationForm informationForm = (InformationForm) form;// TODO Auto-generated method stub //业务开始 ...

    超级有影响力霸气的Java面试题大全文档

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 17、...

    J2EE面试题

    2) 利用JavaMail API发送邮件的过程中,()能获取正确的session对象。 a) Session mailsession=Session.getInstance(); b) Session mailsession=Session.getInstance(objProperties); c) Session mailsession...

    J2EE应用开发详解

    76 5.5.2 JavaBean动作 78 5.6 隐式对象 78 5.6.1 request对象 78 5.6.2 response对象 78 5.6.3 application对象 78 5.6.4 out对象 79 5.6.5 page对象 79 5.6.6 session对象 79 5.6.7 exception对象 80 5.6.8 ...

    拦截器和控制器的区别

    1、struts2对servlet封装(request,response) ,资源调配和资源的映射 2、框架设计的思想 istruts 配置,过滤器,反射 istruts.properties 3、starts2的使用思路 1、jar 2、配置文件 3、常用类 ...

    java面试题

    wait()是Object类的方法,对此对象调用了wait方法导致本线程放弃对象锁,进入等待锁定池,只有针对此对象发出notify方法后本线程才进入对象锁定池准备获得对象锁进入运行状态。 同步和异步,在什么情况下分别使用? ...

    外文翻译 stus MVC

    For instance, the Struts framework will take fname from request stream and call UserActionForm.setFname(). • The Struts framework updates the state of the UserActionForm before passing it to the ...

    ssh(structs,spring,hibernate)框架中的上传下载

     LobHandler必须注入到Hibernate会话工厂sessionFactory中,因为sessionFactory负责产生与数据库交互的Session。LobHandler的配置如代码 5所示:  代码 5 Lob字段的处理句柄配置 1. 2. … 3. 4. class="org....

    李兴华Java Web开发实战经典(高清版) Part2

    6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、...

Global site tag (gtag.js) - Google Analytics