过滤器是JavaEE规范中定义的一种技术,可以让请求目标servlet之前,先进入到过滤器中,在过滤器中统一进行一些拦截处理,当处理完成后,可以向后执行,到达目标,如果配置了多个过滤器,也可以进行到下一个过滤器。
过滤器用来实现通用的功能,减少代码冗余,提高可维护性
一个过滤器可以配置给多个资源使用
一个资源也可以配置多个过滤器,按照配置顺序调用
过滤器的使用场景:
1.统一编码过滤
2.权限验证
3.跨域过滤
会话:
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务 器结束,被称为一个会话。
import javax.servlet.*;
import java.io.IOException;
/*
定义统一编码过滤器
*/
public class EncodFilter implements Filter {
String reqencond="";
String respencond="";
/**/
@Override
public void init(FilterConfig filterConfig) throws ServletException {
reqencond = filterConfig.getInitParameter("reqencond");
respencond = filterConfig.getInitParameter("respencond");
}
/*
定义过滤任务
*/
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("编码过滤器");
servletRequest.setCharacterEncoding(reqencond);//设置请求数据编码格式
servletResponse.setContentType(respencond);//相应内容编码格式
/*让请求离开当前过滤器,向后执行*/
filterChain.doFilter(servletRequest, servletResponse);
}
}
token
token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后, 服务器生成一个token便将此token返回给客户端,以后客户端只需带上这个token前来 请求数据即可。token保存在客户端,并且进行了加密,保证了数据的安全性.
目的:token的目的是为了减轻服务器的压力,使服务器更加健壮