struts2的拦截器AbstractInterceptor「建议收藏」

struts2的拦截器AbstractInterceptor「建议收藏」publicclassAuthorizationInterceptorextendsAbstractInterceptor{@Override   publicStringintercept(ActionInvocationai)throwsException{      Map<?,?>session=ai.getInvocationConte…

大家好,又见面了,我是你们的朋友全栈君。

public class AuthorizationInterceptor extends AbstractInterceptor {

@Override
    public String intercept(ActionInvocation ai) throws Exception {

        Map<?, ?> session = ai.getInvocationContext().getSession();
        UsrinfVO actor = (UsrinfVO) session.get(Constants.LGNUSR);
            if (actor == null) {

                actor = SpringUtil.getLgnUsr();
            }
            Action action = (Action) ai.getAction();
            if (action instanceof UsrAction) {

                return ai.invoke();
            }
                HttpServletRequest request = ServletActionContext.getRequest();
                // AJAX request session time out handle
                String type = request.getHeader(“X-Requested-With”);
                if ( type != null && type.equalsIgnoreCase(“XMLHttpRequest”)) {

                    if(!validateLoginStatus(actor)){

                        HttpServletResponse response = ServletActionContext.getResponse();
                        response.setContentType(“text/html;charset=utf-8”);
                        PrintWriter pw = response.getWriter();
                        //request.setAttribute(“message”, “timeout”);
                        Log.info(“Ajax 超时”);
                        pw.write(“timeout”);
                        return null;
                    }
                }
                if (!validateLoginStatus(actor)) {

                    Log.info(“超时退出”);
                    return “goLoginAppPage”;
                }
   
                return ai.invoke();
            }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146374.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月14日 上午8:20
下一篇 2022年5月14日 上午8:40


相关推荐

  • APP运营:盘点八款主流 APP 消息推送工具[通俗易懂]

    APP运营:盘点八款主流 APP 消息推送工具[通俗易懂]在APP日常运营中,基于营销以及推广的目的,我们需要对APP用户推送一些活动信息或重要资讯。常见的消息推送工具分为两种:1、即技术团队自行开发;2、第三方Push工具对于许多创业型公司而言,相对于自行开发,第三方消息推送工具在推送稳定性、精确覆盖性以及成本方面更具有优势,只需要下载并集成SDK就可以实现功能。本文中我们将盘点八款主流第三方APP消息推送工具,希望对大家在A…

    2022年5月8日
    206
  • Ubuntu配置阿里云ddns

    Ubuntu配置阿里云ddns首发于 yuany3721 的 WordPress 生成阿里云 accesskey 注意 不能使用 ram 子用户下载并配置 ddnscurlhttp github com NewFuture DDNS releases download v2 10 2 ddns SLoddns amp amp chmod777ddns 自动生成 config json ddns h 配置 config jsonviconfig json 使用 ddns 配置 ddns cconfig j

    2026年3月17日
    2
  • 关于pycharm下载tensorflow时报错解决「建议收藏」

    关于pycharm下载tensorflow时报错解决「建议收藏」1.查看pip工具是否需要更新2.点击settings,进入pythoninterperter,对pip进行更新3.可以双击上箭头进行更新,也可以点击加号搜索pip进行更新

    2022年8月27日
    9
  • 用最简单的一个例子看maven冲突的解决办法

    用最简单的一个例子看maven冲突的解决办法

    2020年11月20日
    199
  • Cisco Packet Tracer中配置静态路由与缺省路由(默认路由)

    Cisco Packet Tracer中配置静态路由与缺省路由(默认路由)静态路由介绍 静态路由是指由用户或网络管理员手工配置的路由信息 当网络的拓扑结构或链路的状态发生变化时 网络管理员需要手工去修改路由表中相关的静态路由信息 静态路由信息在缺省情况下是私有的 不会传递给其他的路由器 当然 网管员也可以通过对路由器进行设置使之成为共享的 静态路由一般适用于比较简单的网络环境 在这样的环境中 网络管理员易于清楚地了解网络的拓扑结构 便于设置正确的路由信息 格式

    2026年3月18日
    2
  • CentOS安装教程-解决“Warning:/dev/root does not exist”问题

    CentOS安装教程-解决“Warning:/dev/root does not exist”问题在安装 CentOS 时 若出现 Warning dev rootdoesnote couldnotboot 一般情况下是因为未找到安装系统盘的所在位置 例如 U 盘 这时只需找到其位置 并对配置稍作修改即可 当我们使用 U 盘安装 CentOS 并在 BIOS 中设置 U 盘启动未最高优先级时 开机将进入包含下面选项的界面 A 代表 CentOS 版本的相关信息 1 Inst

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号