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


相关推荐

  • java中hashcode的用法_javahashcode作用

    java中hashcode的用法_javahashcode作用hashcode()是干什么用的?首先hashcode是哈希算法的一中简单实现,他是一个对象的哈希吗值。一般和equals一起使用。 hashcode也是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有 例如内存中有这样的位置 01234567 而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,

    2022年9月3日
    2
  • 学习笔记 python取余[通俗易懂]

    学习笔记 python取余[通俗易懂]python中的取余运算其实就是取模运算,所谓取模运算,就是计算两个数相除之后的余数,符号是%。如a%b就是计算a除以b的余数。用数学语言来描述,就是如果存在整数n,其中0<=|m|<|b|使得a=n*b+m,那么a%b=a‐n*b=m其中n=a/b,然后对n进行向下取整,最后得到n取模运算的两个操作数都必须是整数,可以是负整数,但是b不可以是0,因为被除数不能为0假设变量:a=10,b=20;那么b%a输出结果0…

    2022年4月25日
    61
  • c++读写锁实现_设计模式PDF

    c++读写锁实现_设计模式PDFC++读写锁设计允许读数据同时进行,但与写数据是互斥的存在,只有读数据操作所有完成后释放锁才允许写。反之亦成立。自旋式读写锁,减轻使用者的释放锁的烦恼,当自旋读写锁超出作用域则会自动释放锁。

    2022年8月12日
    3
  • 使用ultraiso制作u盘启动盘_如何进入u盘启动界面

    使用ultraiso制作u盘启动盘_如何进入u盘启动界面下面给你提供是的一个万能的制作系统U盘的方法,用这个U盘你可以加载任何你想要的系统,即使是Linux系统都是可以,你需要做的就是下载安装软件,下载一个系统安装光盘的镜像文件,然后用软件导入到U盘就可以

    2022年8月4日
    9
  • 数据中心部署模式二元化

    数据中心部署模式二元化

    2021年9月1日
    56
  • android系统webview最新版本_webview加载h5页面空白

    android系统webview最新版本_webview加载h5页面空白做android聊天时,遇到过一个问题,h5的页面发送的图片在android端不能响应,ios那边一路畅通。也是相当无奈,目前发现了好多android端与ios端webView的异同。android端与ios确的不同大致包括:1:android不能直接打开html的下载文件,需要先下载保存本地在打开本地文件2:android不能直接打开pdf文件,同样要下载再打开3:如题,h5页面的发送图片按钮点…

    2022年9月22日
    0

发表回复

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

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