读书人

由Strust2 session过期引起的有关问题

发布时间: 2012-07-04 19:33:55 作者: rapoo

由Strust2 session过期引起的问题

ServletActionContext.getRequest().getSession( false ) 如果获取不到session则返回null

ServletActionContext.getRequest().getSession(? ) 等同于 ServletActionContext.getRequest().getSession(true? ) 如果没获取到session则会自动产生一个新的session

?

在实际应用中,一般情况下使用 ServletActionContext.getRequest().getSession(? ),是没有问题的,前提是在session过期前,在整个程序中获取得到是同一个session,如果session过期测会重新产生一个新session,在应用中这个新的session是没保存到你之前设置的值,同时你需要重新登录,但新登录的session的id 与过期后产生的session共存,并且Id不一样。会导致在两个页面有不同的session,这就是程序隐藏的bug

?

所以用ServletActionContext.getRequest().getSession( false ) .getAttribute("xx");

读书人网 >开源软件

热点推荐