标题:session超时后跳转的问题?
只看楼主
fzb215
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-3-2
 问题点数:0 回复次数:0 
session超时后跳转的问题?
过期时能在HttpSessionListener的sessionDestroyed方法中可以得到mangerLevel
public void sessionDestroyed(HttpSessionEvent se) {
HttpSession session = se.getSession();
LoginForm loginForm=(LoginForm)session.getAttribute("loginForm");
System.out.println(loginForm.getManagerLevel());  //打印出9
session.setAttribute("mlFlag", loginForm.getManagerLevel());
}
当点击包含".do"的请求时怎么才能到Filter中的request.gerSession中获得“mlFlag”
if (url.indexOf(".do") >= 0 )
        {

            HttpSession session = ((HttpServletRequest) request).getSession(true);
            if (session.getAttribute("loginForm") == null)
            {
            String managerLevel = (String)session.getAttribute("mlFlag");
            System.out.println(managerLevel + "------------------"); //总为null,怎样在这里获得sessionDestroyed方法中设置的“mlFlag”的值?
            if ( "9".equals(managerLevel)){
            hrep.sendRedirect(hreq.getContextPath() + "/timeout.jsp?managerLevelFlag=" + managerLevel);
            }else {
            hrep.sendRedirect(hreq.getContextPath() + "/timeout.jsp?managerLevelFlag=-1");
            }
            }
            else
            {
                chain.doFilter(request, response);
            }
        }
可能本人对Filter,Listener相结合操作没理解好,要实现这种功能有什么好方法?
谢谢各位!
搜索更多相关主题的帖子: session 超时 
2008-11-17 15:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-244790-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.278025 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved