过滤器框架设计

核心提示今天小编给大家分享的是Java学习总结:过滤器链的实现方法、配置和案例分析。过滤器能够对网站中的各种内容进行过滤,可以在网站内容请求和响应时进行一些操作,完成一些通用的功能。过滤器链在项目中可以创建多个过滤器,网站内容可能会经过多个过滤器,

今天边肖给大家分享一下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增加一些附加功能,比如设置编码格式,验证用户登录,解决重复提交的问题。

 
友情链接
鄂ICP备19019357号-22