第26日笔记:
过滤器:
1.在客户端与服务器中的一到防火墙,过滤器对于客户端和目标是透明的
2.过滤器属于tomcat,使用前需要导入对应的jar包
3.当多个过滤器的作用特点相同时会构成过滤器链,由FilterChain接口调用
4.过滤器的生命周期:实例化-->初始化-->过滤-->销毁
5.定义一个过滤器的类实现Filter接口,实现方法
6.过滤器也可以使用注解实现 @WebFilter(url名称)
7./*代表访问任何资源都要经过此过滤器
8.chain.doFilter(request,response)代表当前过滤器过滤完毕
9. ../在路径中往上一级跳出
10.注解与web.xml中都存在同路径时会加强路径
过滤器还是比较容易理解的,具体流程如下图所示
一个简易的文本过滤器:
package wh.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//在当前目录中每次页面找寻对要经过此过滤器
@WebFilter(filterName = "*")
public class TextFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
//将当前的请求,响应转化为子类对象
HttpServletRequest request=(HttpServletRequest)req;
HttpServletResponse response=(HttpServletResponse)resp;
//更改请求的编码格式,更改响应的编码格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//过滤完毕,放行
chain.doFilter(req, resp);
}
public void init(FilterConfig config) throws ServletException {
}
}
希望能帮到需要的小伙伴~