JFinal拦截设置,不拦截老项目的servlet

方法一:规定Jfianl的处理范围(Jfinal刚加入项目选择)

在JFinal配置类同包下新建类SkipServletHandler ,target.startsWith("/blBmfyglYs") 中的路径可以根据具体要求修改,比如我们的项目中只用到了"/blBmfyglYs"和"/blBmfyglJs"

所以配置成target.startsWith("/blBmfyglYs")||target.startsWith("/blBmfyglJs")

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jfinal.handler.Handler;

public class SkipServletHandler extends Handler {

    @Override
    public void handle(String target, HttpServletRequest request,
            HttpServletResponse response, boolean[] isHandled) {
        if (target.startsWith("/blBmfyglYs")||target.startsWith("/blBmfyglJs")) {
            nextHandler.handle(target, request, response, isHandled);//有些版本的JFinal nextHandler为next 都试一试
        }
    }
}

在JFinal配置类下的public void configHandler(Handlers me) 方法里面加一行

public void configHandler(Handlers me) {
        super.configHandler(me);
        me.add(new SkipServletHandler());//增加的行 其他不变
    }

 方法二:规定不需要拦截的servlet(servlet很多的情况下不建议)

直接在JFinal配置类下的public void configHandler(Handlers me) 方法里配置

有一个servlet要配置一个,如需要访问的servlet在/servlet/UploadExcel处,就要这样配置

public void configHandler(Handlers me) {
        super.configHandler(me);
        me.add(new UrlSkipHandler("^/servlet/UploadExcel*",true));
    }

 

posted @ 2018-02-02 16:43  迷神图卷  阅读(355)  评论(0编辑  收藏  举报