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


相关推荐

  • Windows 定时关机命令

    Windows 定时关机命令1.定时关机1、windows+R弹出命令框,输入cmd,并确定2、输入shutdown-s-t3600时,1小时之后关机,最后一个代表的是多少秒后关机,3600秒为1小时,当为0时,立刻关机,当你按下回车键时,右下角会弹出提示——你的计算机将在多久以后关闭。2.其他命令序号命令作用1shutdown-s-t0s:表示shutdown,关机;t:表示time,关机时间,单位秒;0:表示关机时间,立刻关机;2shutdow

    2022年5月15日
    75
  • BroadcastReceive基础知识总结「建议收藏」

    BroadcastReceive基础知识总结「建议收藏」1、普通广播2、有序广播3、粘性广播4、电量、开机广播

    2022年6月20日
    31
  • Kong 源码分析

    Kong 源码分析本文最初于2020年9月在公司内部发表,现整理并增加部分批注公开发布。最开始加入公司Infrastructure团队时,迷茫的我接到的的一个任务就是学习Lua和OpenResty,当时收到了两本书籍的PDF文件,要求尽快理解学习,能够掌握Kong,并且具有研发能力。当时我还没有怎么接触开源社区,能力只停留在GitClone,大概花了2周时间,我学习Lua基本语法后,开始阅读Kong项目的源码,并找到几个切入点梳理了源码分析文档,也应该正是这个成果让组长认同了我,这

    2022年6月26日
    22
  • 原生js之字符串截取[通俗易懂]

    原生js之字符串截取[通俗易懂]字符串截取的方法有三种:slice(start,end+1),substring(start,end+1),substr(start,n).slice(start,end+1):两个参数时,参数指截取位置,截取含头不含尾;一个参数时,默认截取到字符串结尾。参数可以为负数,负数就倒着数位置。substring(start,end+1):两个参数时,参数指截取位置,截取含头不含…

    2022年5月24日
    37
  • TypeReference

    TypeReference1.基础使用在fastjson中提供了一个用于处理泛型反序列化的类TypeReference。importcom.alibaba.fastjson.TypeReference;List&lt;VO&gt;list=JSON.parseObject("…",newTypeReference&lt;List&lt;VO&gt;&gt;(){});如下写法有更好的性…

    2022年6月29日
    32
  • phpstorm激活码2021.5.1[在线序列号]

    phpstorm激活码2021.5.1[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    46

发表回复

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

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