Servlet中的过滤器

package cn.edu.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.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class MyFilter implements Filter {

	public void destroy() {
		// TODO Auto-generated method stub

	}

	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain chain) throws IOException, ServletException {
		
		HttpServletRequest request=(HttpServletRequest)req;
		HttpServletResponse response=(HttpServletResponse)res;
		HttpSession session=request.getSession();
		Integer userId=(Integer)session.getAttribute("userId");
		if(userId==null){
			response.sendRedirect("/cms_01/login.jsp");
		}else{
			chain.doFilter(request, response);
			
		}
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub

	}

}

 同时在web.xml中添加如下配置

 

<filter>
  <filter-name>MyFilter</filter-name>
  <filter-class>cn.edu.filter.MyFilter</filter-class>
 </filter>
 <filter-mapping>
 	<filter-name>MyFilter</filter-name>
 	<url-pattern>/admin/*</url-pattern>
 </filter-mapping>
 

此时在访问admin下的资源的时候就会背MyFilter拦截

你可能感兴趣的:(servlet)