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是分钟。