JFinal 怎么拦截直接访问 .html .jsp类型的文件

public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {
	    int index = target.lastIndexOf(".html");
	    if (index != -1)
	      target = target.substring(0, index);
	    nextHandler.handle(target, request, response, isHandled);
	  }
这么写只能拦截 .html  要想同时拦截其他怎么办


评论区

JFinal

2016-08-04 12:10

可以通过 if (target.indexOf('.') != -1) 得知是静态资源请求,也可以通过正则表达式匹配,还可以通过截取 .xxx 后缀,再判断后缀是什么,方法很多,多实验一下

烂苹果

2017-11-05 11:24

@JFinal 如果请求的是index.html文件,但请求路径中不带index.html怎么办?

JFinal

2017-11-05 12:00

@烂苹果 啥意思? 需求是什么?

烂苹果

2017-11-05 12:22

@JFinal 比如要访问/html/index.html这个静态页面,但在地址栏中输入的只是/html/这个路径,这样不是会被拦截吗?

JFinal

2017-11-05 16:21

@烂苹果 不会被拦截, 必须是 ".html" 结尾才可以

love_学

2018-01-22 13:53

@JFinal 如果请求不通过地址栏发出,而是通过iframe的src属性发出的请求,也能拦截的吗?

love_学

2018-01-22 14:06

@JFinal 我试着将src属性里的.html去掉 发现可以被 ConfigRoute拦截到。另外一种想法是通过 handle不知道可不可以 。

热门反馈

扫码入社