struts2获取request对象的四种方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/agogwalker/article/details/52343871

struts2中,有四种方式获取request对象的方式,实现时有解耦和耦合之分

解耦:使得我们使用struts2测试时不需要启动服务器,在一定的程度上,能提高我们的开发效率.具体实现思路,通过ActionContext对象获取,代码如下:

//第一种获取requet对象方法---HttpServletRequest对象的attributes(解耦)
Map<String, Object> request = (Map)ActionContext.getContext().get("request");
//第二种获取request对象方法(解耦)
HttpServletRequest request = (HttpServletRequest)ActionContext.getContext().get(StrutsStatics.HTTP_REQUEST);

还有两种是以耦合的形式获得,

1.首先实现ServletRequestAware接口,然后设置全局变量HttpServletRequest request,最后实现ServletRequestAware接口的setServletRequest方法,代码如下:

HttpServletRequest request;

@Override
public void setServletRequest(HttpServletRequest request) {
	// TODO Auto-generated method stub
	this.request = request;
}
2.通过获取ServletActionContext获取HttpServletRequest对象,代码如下;

HttpServletRequest request = ServletActionContext.getRequest();

没有更多推荐了,返回首页