**
Javaweb基础-监听器,过滤器
**
Session令牌机制
原理:第一次访问页面的时候产生一个令牌,以后每次访问都带上令牌,只要不刷新页面令牌就不会变,f5重新发送上一次的请求,servlet第一次收到令牌会进行比对,之后进行更换或删除。下次刷新发送上一次的请求,由于还是上一次的令牌,所以请求会失效;
应用场景:验证码,防止表单重复提交;
index.jsp{
<%
String token = UUID.randomUUID().toString();
//分给两处
//1.一处服务器保存,可以拿到
Session.setAtribute("token",token);
//2.一处页面报保存,,每次请求带上
%>
}//这段代码只有刷新才会执行
**
JavaWeb三大组件(三大组件基本都需要在web.xml进行注册,除了Listener中的活化钝角监听器,绑定解绑监听器需要JavaBean实现外,其余都需要注册)
**
①servlet 处理请求
②Filter 过滤,拦截请求
Filter使用步骤:1.实现Filter接口;2.配置web.xml文件;
<filter>
<filter-name>MyFirstFilter</filter-name>
<filter-class>com.atguigu.filter.MyFirstFilter(全类名)</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFirstFilter</filter-name>
//url三种实现模式
//精确匹配:/user/login 直接拦截指定路径
//路径匹配(模糊匹配):/user/* 拦截目录下所有请求
//后缀匹配(模糊匹配):*.jsp 拦截以.jsp结尾的请求
<url-pattern></url-pattern>
</filter-mapping>
Filter原理
doFilter(){
//放行请求
chain.doFilter(request,response);
}
Listener (监听器)
八个:ServletRequest(2),HttpSession(4),ServletContext(2)
2:生命周期监听器,属性变化监听器;
4:HttpSession:活化钝化监听器,绑定解绑监听器;