Struts2框架2.访问ServletAPI对象
来源:互联网 发布:c语言中堆和栈的区别 编辑:程序博客网 时间:2024/06/05 08:06
例如用户登陆了网站,这个使用我们就需要使用Seesion将用户信息存放起来,所以Struts2为我们提供了两种方式,一种是解耦方式,第二种是耦合方式。
第一种方式-与ServletAPI解耦方式(不依赖原有Web组件)
为了避免与Servlet API耦合在一起,方便Action类的测试,Struts2框架使用了普通的Map对象代替了Servlet API中的HttpServletRequest、HttpSeesion和ServletContext。在Action类中,可以直接访问HttpServletRequest、HttpSeesion和ServletContext对应的Map对象。Struts2提供了com.opensymphony.xwork2.ActionContext类获取ServletAPI对应的Map对象。
获取HttpServletRequest对象
ActionContext ac = ActionContext.getContext();
第一种方式-与ServletAPI解耦方式(不依赖原有Web组件)
为了避免与Servlet API耦合在一起,方便Action类的测试,Struts2框架使用了普通的Map对象代替了Servlet API中的HttpServletRequest、HttpSeesion和ServletContext。在Action类中,可以直接访问HttpServletRequest、HttpSeesion和ServletContext对应的Map对象。Struts2提供了com.opensymphony.xwork2.ActionContext类获取ServletAPI对应的Map对象。
获取HttpServletRequest对象
ActionContext ac = ActionContext.getContext();
Map request = (Map)ac.get("request");
获取HttpSeesion对象
ActionContext ac = ActionContext.getContext();
Map session = ac.getSession();
获取Application对象
ActionContext ac = ActionContext.getContext();
Map application = ac.getApplication();
第二种方式-与ServletAPI耦合方式(依赖于原有web组件)
直接访问Servlet API将使Action类与Servlet API耦合在一起,众所周知,Servlet API对象均有Servlet容器来构造,与这些对象绑定在一起,测试过程中就必须有Servlet容器,这样不便于Action类的测试,但有些时候确实需要直接访问这些对象。直接获取Servlet API对象可以直接使用org.apache.struts2.ServletActionContext类,该类是ActionContext类的子类。
获取HttpServletRequest对象使用getRequest()
获取ServletContext对象使用getServletContext()
获取HttpServletResponse对象使用getResponse()
0 0
- Struts2框架2.访问ServletAPI对象
- Struts2(二)使用Struts2访问ServletAPI对象
- Struts2(二)使用Struts2访问ServletAPI对象
- Struts2 访问servletAPI
- Struts2获取/访问ServletAPI
- Struts2中访问ServletAPI
- Struts2之访问ServletAPI
- Struts2访问ServletAPI方法
- Struts2中Action访问ServletAPI
- 在struts2中访问servletAPI
- Struts2中Action访问ServletAPI
- 【SSH三大框架】Struts2基础第二篇:Struts2的Action访问ServletAPI
- Struts2访问ServletAPI(向JSP内置对象request,session,Application传值)
- Struts2访问ServletAPI的两种途径
- Struts2的Action访问ServletAPI的方式
- Struts2学习(五)【访问servletAPI方式】
- struts2访问servletAPI的几种方式
- struts2的开发(获取ServletAPI对象)
- Oracle数据库双机热备方案
- 静态资源文件自动压缩并替换成压缩版本(大型网站优化技术)
- spring+springmvc基于axis1.4的webservice开发与https配置(一)
- c++ base-内存管理
- 编程中常用到的一些代码[转]
- Struts2框架2.访问ServletAPI对象
- AndroidWear真机调试时出现“无法连接”的错误提示
- scala基础---->序列trait:Seq、IndexedSeq及LinearSeq
- [技术] 图文并茂的Allegro 通孔焊盘制作教程
- Windows 下 Node JS 环境搭建 与 NodeJS简单了解
- (BestCoder Round #59 (div.1) B)简单DP
- Gradle介绍
- .NET 4.5新特性:async和wait
- 第五章.初始化和清理 终结处理和垃圾回收