过滤器是特殊的servlet,和一般的servlet在参数方面有一些区别如下:
对于一般的servlet:参数是HttpServletRequest和HttpServletResponse,而且继承了javax.servlet.http.HttpServlet
对于Filter :参数是 ServletRequest和ServletRespnse,实现了javax.servlet.Filter接口
如下:
一般的servlet:
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Ser extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
}
Filter:
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class F implements Filter {
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest)arg0;//如果需要,可以这样得到HttpServletRequest实例
}