今天边肖给大家分享一下Java学习的总结:过滤链的实现方法,配置,案例分析。
过滤器可以过滤网站中的各类内容,可以在网站内容请求和响应中进行一些操作,完成一些通用功能。

过滤器链
一个项目中可以创建多个过滤器,网站内容可能会经过多个过滤器,形成一个过滤器链。
Java学习总结实现方法:
1.实现过滤器接口。
初始化init
DoFilter进行过滤。
参数:
ServletRequest
ServletResponse响应
过滤链
//让请求通过,执行下一个过滤器。如果不执行此方法,请求将被拦截。
chain . do filter;
摧毁摧毁
2.配置
web.xml
过滤器1
com.qianfeng.filters.Filter1
过滤器1
@WebFilter
公共类TokenFilter实现筛选器{
@覆盖
公共void doFilter
引发IOException,ServletException {
//生成随机字符串
string token = uuid . random uuid . tostring;
//保存到会话
HttpServletRequest res = request
RES . getsession . set attribute;
//执行以下过滤器
chain . do filter;

}
@覆盖
public void init抛出ServletException {}
@覆盖
公共void销毁{}
}
@WebServlet
公共类AddUserServlet扩展HttpServlet{
@覆盖
受保护的void doPost引发ServletException,IOException {
//确定表单中的标记是否与会话中的标记相同
string token 1 = req . getsession . get attribute;
string token 2 = req . get parameter;
如果){
//如果不同,则重复提交。
system . out . println;
返回;
}
String name = req.getParameter
String age = req.getParameter
//模拟代码,成功插入数据库
system . out . println;
//从会话中删除令牌
req . getsession . set attribute;
尝试{
线程.睡眠;
}接住{
e.printStackTrace
}
req . getrequestdispatcher . forward;

}
JSP页面:
pageEncoding="UTF-8"% >
在此插入标题
过滤器可以过滤网站中的各种资源,给Servlet和JSP增加一些附加功能,比如设置编码格式,验证用户登录,解决重复提交的问题。


