`

收藏的一个servlet过滤器验证登陆的例子

    博客分类:
  • j2ee
阅读更多
package com.dm.filter;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import javax.servlet.FilterChain;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.FilterConfig;

public class LoginFilter implements Filter {
    String LOGIN_PAGE = "login.jsp";
    protected FilterConfig filterConfig;

    public void doFilter(final ServletRequest req, final ServletResponse res,
            FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) res;
        //
        boolean isValid = true;
        String uriStr = request.getRequestURI();
        if (uriStr.indexOf("login.jsp") == -1
                && uriStr.indexOf("login.do") == -1
                && request.getSession().getAttribute("name") == null) {
            isValid = false;
        }
        if (isValid) {
            chain.doFilter(request, response);
        } else {
            response.sendRedirect(request.getContextPath()+"/login.jsp");
        }

    }

    public void destroy() {
        this.filterConfig = null;
    }
    public void init(FilterConfig config) {
        this.filterConfig = config;
    }
    public void setFilterConfig(final FilterConfig filterConfig) {
        this.filterConfig = filterConfig;
    }
}

web.xml
   <filter>
        <filter-name>login</filter-name>
        <filter-class>com.dm.filter.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>login</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics