安博靖宁 2021-06-01 14:41 采纳率: 0%
浏览 59

SpringBoot使用servlet进行跳转

​​​​​想实现的是,一个账号登录把另外一个账号给挤掉,使其回到登录页面

使用的是下面的跳转方式:

request.getRequestDispatcher("/login.html").forward(request, response);

但是却出现了俄罗斯套娃,emmmm

有没有懂哥帮帮忙,谢谢啦

@Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;

        Subject subject = WebUtil.getSubject();
        if (subject.isAuthenticated()) {
            String time = (String) CacheUtil.get("login_flag_session_" + WebUtil.getUserId());
            String session_time = (String) request.getSession().getAttribute("login_flag_session");
            if (!StringUtil.isEmpty(time) && !StringUtil.isEmpty(session_time) && time.equals(session_time)) {
                logger.info("Is MyFilter ==> {}", request.getRequestURL().toString());
            } else {
                request.getRequestDispatcher("/login.html").forward(request, response);
                subject.logout();
                return;
            }
        }
        chain.doFilter(request, response);
    }
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 17:57
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?