很多时候我们在action中需要用到session,request。咱不管那么多,有一种能用就ok。记那么多头都大了。
首先,我们知道struts为我们提供了一些接口:sessionaswre,requestaware,responseaswre。实现这些接口并实现相应的方法,使用这种方式取得的session是一个Map。
public class LoginAction extends ActionSupport implements SessionAware,RequestAware{
private Map session;
private Map request;
@Override
public void setSession(Map<String, Object> arg0) {
this.session = arg0;
}
@Override
public void setRequest(Map<String, Object> arg0) {
this.request = arg0;
}
很明显使用上面那种方法获取的是一个Map,自然跟我们平时在servlet里使用的就不一样。只能get(object)和put(string,object)。所以有时候感觉用起来挺别扭。
那么,我平时就喜欢用下面的方式获取:
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
这个时候取得的session和request就和平时在servlet里的一样了。