달성 인터셉트 로그인 인증에 필터와 서블릿 기록 웹 애플리케이션,

원리 : 방문 페이지뿐만 아니라, 다른 페이지는 통합 식별 기호 가상 경로입니다. 이러한 사용 / 로그인 등
. 모든 가상 경로를 차단합니다 필터는 / 사용자 페이지로 시작합니다. 있는지 확인 성공적인 컨텐츠 후이 도착하지 말았어야 세션을 해당 필터 페이지 요청. 그렇지 않은 경우, 방문 페이지로 리디렉션합니다. 그래서, 증명하면 이미 doFilter 방법 filterChain의 구현을 착륙했습니다.

필터代码:
공용 클래스 Myfilter 구현 필터 {

@Override
public void init(FilterConfig filterConfig) throws ServletException {

}

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
   //先转为HttpServletRequest,HttpServletResponse
    HttpServletRequest request=(HttpServletRequest)servletRequest;
    HttpServletResponse response=(HttpServletResponse)servletResponse;
    //如果前面已经登陆过,在session里赋值了,该页面可以执行下一个servlet,如果没有先重定向到登陆页面!
    if (request.getSession().getAttribute("loginUser")==null){
        response.sendRedirect(request.getContextPath()+"/login.jsp");
    }else {
        filterChain.doFilter(request,response);
    }
}

@Override
public void destroy() {

}

}

착륙 성공의 세션 내용에 코드를 넣어 :
그림 삽입 설명 여기
마지막으로, 필터의 web.xml 구성 파일에 잊지 마세요. 또는 직접 주석을 표시 @WebFilter ( "/ 사용자")와
음, 단순히 필터 검증이 완료 될 때 사용합니다.

게시 14 개 원래 기사 · 원의 칭찬 0 · 조회수 329

추천

출처blog.csdn.net/qq_38205881/article/details/103624319