开发者社区> 问答> 正文

handler的跳转是否只能使用controller??报错

@JFinal 你好,想跟你请教个问题:

我想使用handler来实现一个类似SessionFilter的功能,做系统登录校验,和访问权限控制方面的功能;

有以下几个问题需要请教一下,谢谢

  1. 在使用nextHandler.handle()进行跳转时,设置target的值是不是只能是controller中配置的Action,我在测试中希望能够直接设置成某JSP,如nextHandler.handle("/aa/login.jsp",....);始终是报错的,跳转不正常,后来再测试了controller中的Action,好像是可以正常
  2. 在访问链接控制上,我希望拦截所有controller和所有JSP访问,其它如脚本、样式等文件不进行处理;判断请求时,JSP访问我可以简单截取链接的后缀字符中的JSP来判断,或是判断请求中的头信息是text/html的内容,就差不多可以完成JSP的判断,但controller中的访问是不是也是使用请求头信息的内容来判断?因为controller没有后缀,想请教要如何准确判断这些访问的类型
  3. 第1点提到的使用controller跳转正常后,通过查看后台自己输出的调试信息,我发现在跳转到登录Action后,又去跳转了一次原访问Action,导致handler又执行了一次跳转,再次跳转回登录Action,请教如何在跳转到指定的页面后,不会再执行其它的跳转

展开
收起
爱吃鱼的程序员 2020-06-14 21:52:02 549 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你可以定义一个权限验证错误的controller。

    例如 

    1、绑定路径/login 绑定到LoginController.

    2、LoginController中可以有seesionError、otherError、index等方法

    3、sessionError方法中render(" /aa/login.jsp");

    4、在handler中判断session或者其他验证,验证失败的话,target="/login/sessionError"

    听起来有点乱……求访问类型最准确的判断方式  @jfinal
    2020-06-14 21:52:18
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载