jfinal如何过滤对JSP/html的请求?

 我来答
手机用户95783
推荐于2016-06-09 · 超过69用户采纳过TA的回答
知道答主
回答量:112
采纳率:100%
帮助的人:64.9万
展开全部
public void index() {
if (getPara() != null)
renderError404();
// other code here;}办法二使用NoUrlPara拦截器:
@Before(NoUrlPara.class)
public void index() {
......}2、要过滤 .jsp等指定后缀的请求,除了可以通过配置 nginx以外,还使用Handler:
public class JspSkipHandler extends Handler {
public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {
int index = target.lastIndexOf(.jsp);
if (index != -1)
target = target.substring(0, index);
nextHandler.handle(target, request, response, isHandled);}}然后在YourJFinalConfig中配置一下这个JspSkipHandler即可,另外还可以使用JFinal提供的UrlSkipHandler 通过正则表达式来解决,例如,以下代码可以过滤所有对静态资源以及jsp、html等的请求:
me.add(new UrlSkipHandler(.+\\.\\w{1,4}, false));}上例中的正则将匹配带有扩展名的文件请求,扩展名最短1位,最长4位。你可根据需要灵活配置正则。
千锋教育
2016-01-24 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
jfinal对jsp或者html过滤的请求配置:
public class PermissionHandler extends Handler {

@Override
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, boolean[] isHandled) {
int indexJsp= target.lastIndexOf(".jsp");
int indexHtml = target.lastIndexOf(".html");
if (indexJsp!= -1 || indexHtml!= -1) {
System.out.println(target);
if (request.getSession().getAttribute(Const.LOGINUSER) == null) {
System.out.println("没有登陆!跳转到login.html");
target = "/login.html";
} else {
System.out.println("登陆了,放行!");
}
}
nextHandler.handle(target, request, response, isHandled);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lionkas
2015-08-10 · 超过19用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:32.9万
展开全部
jfinal通过拦截器过滤请求,可以使用注解来配置Class、Method级别的拦截器。jfinal很容易上手,建议边看官方的帮助手册同时参照官方的demo示例,亲自动手完成一个小项目加以巩固。http://www.jfinal.com/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式