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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • aix 关闭端口

    aix 关闭端口关掉对应的应用程序,则端口就自然关闭了,如:"kill-9PID"(PID:进程号)如:   通过"netstat-anp|grepssh"有显示:   tcp0127.0.0.1:21210.0.0.0:*LISTEN7546/ssh则:   "kill-97546" 1.netstat-Aan|grep&lt;portnumber&gt;…

    2022年7月20日
    14
  • Apifox(2)快速上手apifox

    Apifox(2)快速上手apifox快速上手使用场景Apifox是接口管理、开发、测试全流程集成工具,使用受众为整个研发技术团队,主要使用者为前端开发、后端开发和测试人员。前端开发接口文档管理接口数据Mock接口调试前

    2022年7月30日
    10
  • 交换机基础配置教程[通俗易懂]

    交换机基础配置教程[通俗易懂]一、带外管理网络的管理控制信息与用户网络的承载业务信息在不同的逻辑信道传送,也就是设备提供专门用于管理的宽带console口:专门用来管理的,并不传输数据,接入一根console线,是一个扁平电缆,另外一端是一个串行接口,用来接入电脑或笔记本上,近端管理时我们会使用console线进行近端管理,设备要做密码恢复时,时必须要进行近端管理的,只有通过console空才能进行密码恢复。以太网口:以太网口用来传输数据管理信息和数据传输是隔离的,所以我们称之为带外管理初次配置:通过console口进行配置,需

    2022年9月15日
    4
  • qt实现视频播放器

    qt实现视频播放器本篇博客介绍如何利用qMediaPlayer和qvideowidget实现视频文件(avi,mp4….)的播放,并且提供进度显示,还可以通过拖动进度条来变换播放位置。相关代码可以在我的资源里下载"基于qt的视频播放器"pro文件:#————————————————-##ProjectcreatedbyQtCr…

    2022年6月6日
    42
  • Mina框架的使用[通俗易懂]

    什么是Mina框架ApacheMina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Javanio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。是用来代替NIO网络框架的,对NIO框架进行了一层封装的Socket库。Mina主页下载地址为什么使用Mina?传统socket:阻塞式通信每建立一个Socket连接时,同时创建一个新线程对该Soc

    2022年4月17日
    93
  • org.bson.codecs.configuration.CodecConfigurationException

    org.bson.codecs.configuration.CodecConfigurationException

    2021年6月15日
    82

发表回复

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

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