Servlet过滤器能够拦截client与server之间传递的信息,能够对这些信息进行查看,修改等操作。
定义filter implements Filter 这个接口
实现一下三个方法。
1.destroy() :
2.doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2)
在这个方法里写你要过滤的东西。
3.init(FilterConfig arg0)
在web.xml
配置文件。
<filter>
<filter-name>dd</filter-name> //这个可以随便写不过要和filter_name一样啊
<filter-class>filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>login</filter-name> /这个可以随便写不过要和filter_name一样啊
<url-pattern>/*</url-pattern> /*代表根目录下的所有。
</filter-mapping>
一个小李子:
public class LoginFilter implements Filter
{
public void destroy()
{
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException
{
// TODO Auto-generated method stub
HttpServletRequest requst = (HttpServletRequest) arg0;
String isOk = (String) requst.getSession().getAttribute("isOk");
String pathString = requst.getRequestURI();
System.out.println(pathString);
if (isOk != null || pathString.contains("js")||pathString.contains("css")
|| pathString.contains("sysPassServlet") || pathString.contains("images"))
{
arg2.doFilter(arg0, arg1);
} else
{
requst.getRequestDispatcher("index.jsp").forward(arg0, arg1);
}
}
public void init(FilterConfig arg0) throws ServletException
{
// TODO Auto-generated method stub
}
}