1. 設置session??
ServletActionContext.getRequest().getSession().setAttribute("user", u);? ? ?
ServletActionContext.getRequest()得到Request請求,然后getSession()得到Session,最后使用setAttribute("user", u)往session? ? ? 中放入名為user的變量,u是user的值? ? ? ActionContext.getContext().getSession().put(key,value); 也可以實現
2. action中設置session有效期的三種方法?????
方法一:? ? ? ??
在使用了struts2框架的任何地方使用? ? ? ? ServletActionContext.getRequest().getSession().setMaxInactiveInterval(xxx);? ??
方法二:? ? ? ?
?在Action中定義一個HttpServletRequest的成員對象req; ? ? ?? Action類實現ServletRequestAware接口,實現其中的方法;? ? ? ? 在實現的方法中編寫: req=方法參數;? ? ? 然后在該Action中任何需要用到Session的地方使用req.getSession()......? ??
方法三:? ? ? ? ??
在工程的 web.xml中 設置session的有效期30session-timeout元素用來指定默認的會話超時時間間隔,以分鐘為單位。該元素值必須為整數。如果session-timeout元素的值為零或負數,則表示會話將永遠不會超時。 session-timeout的取值范圍是1-1440。
setMaxInactiveInterval和session-config的比較:?
1)、setMaxInactiveInterval的優先級高,如果setMaxInactiveInterval沒有設置,則默認是session-config中設置的時間。
2)、setMaxInactiveInterval設置的是當前會話的失效時間,不是整個web服務的。?
3)、setMaxInactiveInterval的參數是秒,session-config當中配置的session-timeout是分鐘。