网站域名有了_网站如何建设,wordpress获取站点链接,php空间放多个网站,电商学习网站介绍
当用户请求接口时#xff0c;请求会先到过滤器#xff0c;在到处理逻辑的接口#xff0c;在过滤器中可以可以判断用户权限#xff0c;如#xff1a;是否登录#xff0c;或请求前的一些操作#xff0c;完成一下比较通用的操作#xff0c;如#xff1a;前端的AXIO…介绍
当用户请求接口时请求会先到过滤器在到处理逻辑的接口在过滤器中可以可以判断用户权限如是否登录或请求前的一些操作完成一下比较通用的操作如前端的AXIOS 的请求拦截器响应拦截器。
添加组件支持 启动类上添加ServletComponentScan //开启组件支持 ServletComponentScan 拦截路径
WebFilter(urlPatterns “”)加上该注解 表示该类为过滤器 urlPatterns 为拦截路径
WebFilter(urlPatterns “/login”) //只拦截/loginWebFilter(urlPatterns “/*”) //拦截所有WebFilter(urlPatterns “/login/*”) //拦截login下的所有接口
创建过滤器
继承于Filter 接口并且实现他都三个方法
过滤器分为3个函数也叫可以叫生命周期 doFilter每次请求时执行的方法 每次请求都执行 必须重写 init 服务器启动时执行的方法 一般用于加载资源或初始化 只执行一次 可以不重写 destroy 服务器关闭时执行 销毁 只执行一次 可以不重写 WebFilter “urlPatterns”参数拦截哪类的请求 WebFilter(urlPatterns/*)//加上该注解 表示该类为过滤器
public class RequestFilter implements Filter {Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {//每次请求时执行的方法}Overridepublic void init(FilterConfig filterConfig) throws ServletException {//服务器启动时执行的方法 一般用于加载资源或初始化 只执行一次Filter.super.init(filterConfig);}Overridepublic void destroy() { //服务器关闭时执行 销毁 只执行一次Filter.super.destroy();}
}请求拦截
创建完成后请求拦截主要在这个方法里会传递3个对象参数进来 ServletRequest servletRequest, //请求 ServletResponse servletResponse,//响应 FilterChain filterChain// 放行 Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {//每次请求时执行的方法//....放行前执行的逻辑.....filterChain.doFilter(servletRequest,servletResponse);//放行该请求//....放行后执行的逻辑.....}