javaWeb 三大组件
1、都需要在web.xml进行配置
2、过滤器
它会在一组资源(jsp,selvet,.css,.html等等)的前面执行
它可以让请求得到目标资源,也可以不让请求达到
过滤器有拦截请求的能力
过滤器如何编写
1、写一个类实现Filter接口
2、在web.xml中进行配置
filter接口有三个方法
@Override
public void destroy() {
System.out.println(“销毁之前执行,在服务器关闭时销毁”);
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
System.out.println(“每次过滤时都会执行”);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
System.out.println(“创建之后,马上执行,filter会在服务器启动时就创建”);
}
filter是单例的
filterconfig与serlvetconfig相似
获取初始化参数:getinitparameter()
获取过滤器名称:getfiltername()
获取application:getservletcontext()
filterchain
dofilter(servletrequest,servletresponse):放行
相当于调用了目标servlet的service()方法
多过滤器
filterchain#dofilter()方法:
执行目标资源,或是执行下一个过滤器,如果没有下一个过滤器那么执行的是目标资源,如果有,那么就执行下一个过滤器