拦截器的实现:
1.实现Filter 拦截器只能在容器启动时创建实例
2.配置了拦截某些资源这些资源都进入FilterChain对 象调用的doFilter方法,该方法决定了是否能通过该过滤器
调用则通过,不调用则不通过
3.设置编码格式
ServletRequest arg0, ServletResponse arg1
HttpServletRequest req=(HttpServletRequest)arg0;
HttpServletResponse rep=(HttpServletResponse)arg1;
rep.setCharacterEncoding("UTF-8");
req.setCharacterEncoding("UTF-8");
rep.setContentType("text/html");
4.过滤器可以有多个,形成链:
执行顺序:按配置顺序执行
如果资源被访问时,这个链中的所有过滤器都会被依次执行
任何一个过滤器没有通过,链条被中断,链条后的所有过滤器都不会执行
配置拦截:
<filter>
<filter-name>TeFilter</filter-name>
<filter-class>lesson3.TeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>TeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
/* :根路径下的所有资源
/servlet/* :/servlet路径下的所有资源
1.实现Filter 拦截器只能在容器启动时创建实例
2.配置了拦截某些资源这些资源都进入FilterChain对 象调用的doFilter方法,该方法决定了是否能通过该过滤器
调用则通过,不调用则不通过
3.设置编码格式
ServletRequest arg0, ServletResponse arg1
HttpServletRequest req=(HttpServletRequest)arg0;
HttpServletResponse rep=(HttpServletResponse)arg1;
rep.setCharacterEncoding("UTF-8");
req.setCharacterEncoding("UTF-8");
rep.setContentType("text/html");
4.过滤器可以有多个,形成链:
执行顺序:按配置顺序执行
如果资源被访问时,这个链中的所有过滤器都会被依次执行
任何一个过滤器没有通过,链条被中断,链条后的所有过滤器都不会执行
配置拦截:
<filter>
<filter-name>TeFilter</filter-name>
<filter-class>lesson3.TeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>TeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
/* :根路径下的所有资源
/servlet/* :/servlet路径下的所有资源