`
njmnjx
  • 浏览: 231922 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在struts2中获取request/session/application对象

阅读更多
在action中获取到request/response/session/application对象:
一、
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
ServletContext application =  ServletActionContext.getServletContext();


二、
ActionContext context = ActionContext.getContext();
		
Map request = (Map)ActionContext.getContext().get("request");
		
Map session = ActionContext.getContext().getSession();
		
Map application = context.getApplication();


不能获得response 对象



注:
Static ActionContext getContext() ---获得当前线程的向下文

Object get(Object key)  ---- getAttribute()

void put( Object key, Object value ) ---- setAttribute()
Map getParameter()   相当于Servlet中的getParameterMap()

Map getApplication()  对应于ServletContext



·ActionContext

ActionContext(com.opensymphony.xwork.ActionContext)是Action执行时的上下文,上下文可以看作是一个容器(就是一个Map而已),它存放的是Action在执行时需要用到的对象,比如:在使用WebWork时,我们的上下文放有请求的参数(Parameter)、会话(Session)、Servlet上下文(ServletContext)、本地化(Locale)信息等。WebWork负责将Servlet相关数据转换为与ServletAPI无关的Map对象(即ActionContext),使得xwork的Action实现与web层、逻辑层与表现层的解耦。
在每次执行Action之前都会创建新的ActionContext,ActionContext是线程安全的,也就是说在同一个线程里ActionContext里的属性是唯一的,这样我的Action就可以在多线程中使用。我们可以通过ActionContext的静态方法:ActionContext.getContext()来取得当前的ActionContext对象。


·ServletActionContext

提供直接与Servlet容器交互的途径。通过它,可以取得HttpServletRequest、HttpServletResponse 、ServletConfig、ServletContext、PageContext对象。但是,使用ServletActionContext意味着Action与ServletAPI的紧密耦合。
分享到:
评论

相关推荐

    Struts2学习笔记(三) Struts2中访问request,session,和application对象

    NULL 博文链接:https://fish198398.iteye.com/blog/785319

    struts2创建 request response session application

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

    struts2访问application、session以及request等web资源的示例代码

    struts2访问application、session以及request等web资源的示例代码

    Struts2访问request,session,application的四种方式

    NULL 博文链接:https://aimilin6688.iteye.com/blog/1279546

    struts2访问request,session,application作用域

    本文讲述了serlvet API无耦合的方式

    修改题目1,将提交的“用户名信息”保存到request中,“密码信息”保存到session中,

    2.修改题目1,将提交的“用户名信息”保存到request中,“密码信息”保存到session中,而“用户是否已经注册的判定信息”保存在application中,并在显示页面中,分别从request、session和application中获取数据并...

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

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

    Struts2访问servlet分享

    一:访问或添加request/session/application属性 代码如下:public String scope() throws Exception{  ActionContext ctx = ActionContext.getContext();  ctx.getApplication().put(“app”, “应用范围”);//往...

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

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

    struts基础入门

    主要实现了用户的登录系统..并且验证了struts中的跳转..还有跳转到另一个action中的类型..跳转另一个action后显示出书籍信息......并且从request域中,session域和application整个应用程序域中获取信息..

    拦截器和控制器的区别

    监听器 servlet application /session /request 6/8 个 1、拦截器 定义拦截器的包 <package name="myPackage" extends="struts-default"> 定义拦截器的核心 定义拦截器类 ...

    spring web flow demo

    • session 范围中的对象是跟会话( session )绑定在一起的,每次会话结束会销毁这些对象,而 新的会话中又会重新创建。 HTTP 协议本身是无状态的,服务器和客户端要实现会话的管理,只 能借助于一些辅助的手段,如...

    J2EE面试题

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

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

     此外lazy="true"说明地返回整个Tfile对象时,并不返回fileContent这个字段的数据,只有在显式调用tfile.getFileContent()方法时才真正从数据库中获取fileContent的数据。这是Hibernate3引入的新特性,对于包含重量...

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

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 23、EJB与JAVA BEAN的区别?  Java Bean 是可...

    外文翻译 stus MVC

    ActionForm maintains the session state for the Web application. ActionForm is an abstract class that is sub-classed for each input form model. When I say input form model, I am saying ActionForm ...

    java 面试题 总结

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...

    XWork绕过安全限制执行任意命令漏洞补丁

    Struts2中WebWork框架使用XWork基于HTTP参数名执行操作和调用,将每个HTTP参数名处理为OGNL(对象图形导航语言)语句,而OGNL将: user.address.city=Bishkek&user['favoriteDrink']=kumys 转换为: action....

    java面试题

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步。在很多情况下采用异步往往更有效率。 数据库三大范式? 答:1:确保每列都是不可分割的原子值 2...

    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 ...

Global site tag (gtag.js) - Google Analytics