global filter 的demo示例
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

48 lines
1.4 KiB

package com.tptj.demo.hg.global.filter;
import com.fanruan.api.log.LogKit;
import com.fr.decision.fun.GlobalRequestFilterProvider;
import com.fr.decision.fun.impl.AbstractGlobalRequestFilterProvider;
import com.fr.web.utils.WebUtils;
import org.jetbrains.annotations.NotNull;
import javax.servlet.FilterChain;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author 秃破天际
* @version 10.0
* Created by 秃破天际 on 2021-03-26
**/
public class SedDemo extends AbstractGlobalRequestFilterProvider {
@Override
public String filterName() {
return "B Demo";
}
@Override
public String[] urlPatterns() {
return new String[]{"/*"};
}
@Override
public void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain chain ){
LogKit.info( "sort 2,path={},ip={}", req.getPathInfo(), WebUtils.getIpAddr(req) );
try{
chain.doFilter(req,res);
}catch (Exception e){
LogKit.error(e.getMessage(),e);
}
}
/**
* 可选实现的多个filter排序(执行顺序)的方法
* @param other
* @return 0 相等,大于0是自身优先 小于0 是other优先
*/
@Override
public int compareTo(@NotNull GlobalRequestFilterProvider other ){
return super.compareTo(other);
}
}