struts2获得request和session对象
来源:互联网 发布:软件开发业务流程 编辑:程序博客网 时间:2024/06/10 08:17
在struts1中,获得到系统的request或者session对象非常方便,都是按照形参传递的,但是在struts2中,request和session都被隐藏了
struts2提供两种方式访问session和request,其中比较常用的是利用SPRING里面所说的IOC即控制反转
1.IOC方式:
action类实现ServletRequestAware接口,并新建一个HttpServletRequest request
public class UserLoginAction extends ActionSupport implements ServletRequestAware{ public void setServletRequest(HttpServletRequest request) { this.request=request; }
然后可以生成的request得到对象,如request.getRemoteAddr()
action类实现SessionAware接口,并创建一个MAP对象session
public class UserLoginAction extends ActionSupport implements ServletRequestAware,SessionAware{ public void setServletRequest(HttpServletRequest request) { this.request=request; }public void setSession(Map session) { this.session=session; }
2.非IOC方式
这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类,具体的方法如下所示。
a.获得request对象:
A.HttpServletRequest request = ServletActionContext.getRequest ();B.ActionContext ct= ActionContext.getContext() HttpServletRequest request=(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);
b.获得session对象:
在Struts2中底层的session都被封装成了Map类型,我们称之为SessionMap,而平常我们所说的session则是指HttpSession对象,具体的获得方法如下所示。
A.Map session=ActionContext.getSession();B.Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);
得到这个SessionMap之后我们就可以对session进行读写了,如果我们想得到原始的HttpSession可以首先得到HttpServletRequest对象,然后通过request.getSession()来取得原始的HttpSession对象。一般情况下SessionMap已经可以完成所有的工作,我们不必再去碰底层的session了。
- Struts2获得Session和Request对象
- struts2获得request和session对象
- struts2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- struts2获得request和session
- STRUTS2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- STRUTS2获得session和request
- Struts2获得session和request
- STRUTS2获得session和request
- struts2 中获得request、response 和session
- Struts2获得request和session方法
- 【转】STRUTS2获得session和request
- C++基础
- IT技能知识库 50个领域一键直达
- 从Dagger2基础到Google官方架构MVP+Dagger2架构详解
- 解开gRPC神秘面纱(一)
- Eclipse常见配置
- struts2获得request和session对象
- 使用gradle上传源码到maven仓库
- 问题:数据库字符集和客户端字符集是不同的 查询服务器端的字符集
- 构建windows 10和ElmengtaryOS双系统,以及安装ElemengtaryOS下的搜狗输入法等软件
- MySQL 数据库常用命令小结
- Android Studio Instant Run的工作原理
- 安装最新版本的cocoapods
- Java 中对Mongodb 的基本操作
- 解决 macos Sierra 系统「安全性与隐私」设置中没有任何来源选项问题