сервлет WebApp записи, с фильтром для аутентификации входа в систему перехвата для достижения

Принцип: В дополнение к целевой странице, другие страницы виртуальный путь с единым символом идентичности. Такие , как использование / Login
. Фильтр будет перехватывать все виртуальный путь начинается с страницами / пользователей. Убедитесь в том, что запрос на фильтр страницы , соответствующей сессию , на которой не должно быть приземлились после успешного содержания. Если нет, то перенаправление на целевую страницу. Если это так, доказать уже приземлились, реализация 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() {

}

}

Поместите код в содержание сеанса успеха посадки:
Here Вставка рисунка Описание
Наконец, не забудьте web.xml файл конфигурации для фильтра. Или непосредственно с аннотациями отмечены @WebFilter ( «/ пользователем»)
Ну, просто использовать проверку фильтра завершена.

Опубликовано 14 оригинальных статей · вона похвала 0 · Просмотров 329

рекомендация

отblog.csdn.net/qq_38205881/article/details/103624319