handler怎样过滤掉一些请求?

@JFinal,你好

下边是我现在的代码,我的路由“/”是 直接render一个login的JSP,然而那个JSP里的JS跟CSS每次都会在这里被拦截,导致页面异常,请问该怎么处理

handle(String s, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, [] booleans) {
    HttpSession session = httpServletRequest.getSession();
    Object user = session.getAttribute();
    ((s.endsWith() || s.endsWith() || s.endsWith() || s.endsWith()) && user == ) {
        .info(s + );
        HandlerKit.(, httpServletRequest, httpServletResponse, booleans);
    } {
        .info(s + );
        .handle(s, httpServletRequest, httpServletResponse, booleans);
    }
}


评论区

JFinal

2017-07-05 18:38

在 handler 中过滤的大致方式如下:
if (target 需要被过滤) {
HandlerKit.renderError(404);
} else {
next.handle(target, request response, isHandled);
}

JFinal

2017-07-05 18:38

参考一下 UrlSkipHandler 中的用法

坚强的地瓜

2017-07-05 18:52

@JFinal 我如果一个一个去判断那个JSP中引用的JS跟CSS,是不是有点太笨的方法了,有简便的方法吗

JFinal

2017-07-05 18:55

@坚强的地瓜 好多方法判断:
1:用 string 的 endsWith 或者 startsWith 判断前缀与后缀
2:用正则表达式进行匹配

热门反馈

扫码入社