很多時候我們在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裏的一樣了。