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


相关推荐

  • 硬盘数据恢复的方法_固态硬盘覆盖数据恢复吗

    硬盘数据恢复的方法_固态硬盘覆盖数据恢复吗想必许多朋友在硬盘数据遭到损坏时,第一反应就是拿到外面的电脑店去找专业的人士帮忙修复,这虽然也是一个可行的方法,但同时小编也觉得大可不必浪费这些时间专门跑到外面,且有可能要付出高昂的修复费用。那么,当硬盘损坏时,我们应如何第一时间恢复数据呢?答案就是用专业的数据恢复软件扫描恢复。所以在这里教大家如何用数据恢复软件来找回硬盘数据,不限制时间和地点,随时随地就能修复。操作也很简单,让我们来看看详细的步骤。1.在超级兔子官网下载软件后打开至主界面,在场景模式下选择U盘/内存卡恢复。2.点.

    2022年9月21日
    0
  • Iocomp Ultra Pack ActiveX 5.12[通俗易懂]

    Iocomp Ultra Pack ActiveX 5.12[通俗易懂]Iocomp的ActiveX/VCLStdPack是一个包含29个控件的套件,老版本Iocomp激活成功教程版很多,用于创建使用ActiveX或VCL开发环境的专业仪器应用程序。这些控件可用于科学、工程、医疗、石油和天然气、半导体、工厂自动化、航空航天、军事、机器人、电信、楼宇和家庭自动化、HMI、SCADA以及数百种其他类型的应用。所有Iocomp控件均启用OPC。如果您的项目需要OPC连接,您可以将任何属性连接到您的OPC项目/标签。所有连接都可以使用Iocomp属性编

    2022年7月25日
    7
  • javascript判断一个对象是否为数组

    javascript判断一个对象是否为数组

    2022年3月6日
    32
  • Linux中rwx权限详解

    Linux中rwx权限详解1.rwx作用在文件时1>r:read,可以读取,查看2>w:writte,可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件所在的目录(文件夹)具有写的权限,才能删该文件3>x:execute,可以被执行2.rwx作用在目录时1>r,ls查看目录内容2>w,可以修改,目录内创建+删除+重命名目录3&gt…

    2022年5月12日
    46
  • 关于this指针

    关于this指针一个类的对象中实际只包含了该对象的数据成员信息,当我们创建了多个类的对象时,使对象1调用该类的成员函数,为什么可以改变对象1中的信息,而不去设置其他对象的信息?成员函数在类中只有一份,所有该类的对象共同使用,编译器是如何识别并处理的呢?编译器识别一个类分为三步:1.识别类的类名2.识别类的成员变量3.识别类的成员函数并对成员函数进行修改修改方式:成员函数有一个隐藏…

    2022年5月16日
    51
  • css选择器有哪些?[通俗易懂]

    css选择器有哪些?[通俗易懂]一、写在前面css选择器有很多,但是常用到的也就几个,今天总结一下。二、具体选择器2.1、id选择器#myId{}2.2、类选择器.myClass{}2.3、标签选择器p,h1{}2.4、后代选择器divh1{}2.5、子选择器div>h1{}2.6、兄弟选择器(所有的兄弟)ul~h1{}2.7、相邻兄弟选择器ul+h1{}2.8、属性选择器li[name=’sss’]{}2.9、伪类选择器h1:hover{}2.10h

    2022年10月22日
    0

发表回复

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

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