m0_72917217 2022-09-20 17:05
浏览 8
已结题

如何自动登录使用拦截器

package com.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.service.LoginServiceImpl;
import com.util.CookieUitl;

@WebFilter("/*")
public class LoginFiler implements Filter {

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
        throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) req;
    HttpServletResponse response = (HttpServletResponse) resp;

    if(request.getRequestURI().contains("login")) {//如果访问login
        chain.doFilter(request, response);
        return;
    }else {
        String username = (String) request.getSession().getAttribute("username");
        if(username==null) {
            String val = CookieUitl.getCookieValByKey("auto", request);
            if(val!= null&& !val.equals("")) {
                String name = val.split("_")[0];
                String pass = val.split("_")[1];

                if(new LoginServiceImpl().login(name, pass)) {
                    request.getSession().setAttribute("username", name);
                    chain.doFilter(request, response);
                    return;
                }else {
                    response.sendRedirect("login.jsp");
                }
            }else {
                response.sendRedirect("login.jsp");
            }
        }else {
            chain.doFilter(request, response);
            return;
        }
    }
}

@Override
public void init(FilterConfig arg0) throws ServletException {
}

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 9月28日
    • 创建了问题 9月20日

    悬赏问题

    • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
    • ¥20 Java-Oj-桌布的计算
    • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
    • ¥20 有人知道这种图怎么画吗?
    • ¥15 pyqt6如何引用qrc文件加载里面的的资源
    • ¥15 安卓JNI项目使用lua上的问题
    • ¥20 RL+GNN解决人员排班问题时梯度消失
    • ¥60 要数控稳压电源测试数据
    • ¥15 能帮我写下这个编程吗
    • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路