Leetcode、Kaggle、JavaEE、图像处|

ZzUuOo666

园龄:7年6个月粉丝:94关注:0

关于springmvc重定向后Cannot create a session after the response has been committed问题

首先先上代码吧,我在用springmvc进行response.sendRedirect(url);操作后报了Cannot create a session after the response has been committed错误。

复制代码
@RequestMapping(value={"","/"})
    public String index(HttpServletResponse response,HttpServletRequest request) throws Exception{
//        String callbackurl = "http://127.0.0.1:8080/sucstepms/index/goqrcodescansign";
        String callbackurl = request.getRequestURL().toString();
        Authorize au = new Authorize(appKey, appSecret);
        String code = request.getParameter("code");
        String url = au.forwardurl(callbackurl, "test", Authorize.DISPLAY_TAG_T.WEB);
        if ( code == null || code.isEmpty() ){
            response.sendRedirect(url);
            return null;
        }else{
            String text=au.querytoken(code, callbackurl);
            Map<String, Object> map=JSON.parseObject(text);
            String token=(String) map.get("access_token");
            if(token==null){
                response.sendRedirect(url);
                return null;
            }else{
                User user=new User(token);
                System.out.println(user.me());
                System.out.println(text+"--------------");
            }
        }
        return "sign/front/guide";
    }
    
复制代码

在之前是没有加return null的,在执行重定向后悔跳到最后执行springmvc的return 页面操作。所以会报这个错误。所以解决办法就是加上return null;

我觉得这个问题的主要原因就在重定向response提交后,后面springmvc继续重定向了页面,或者多session有某些操作,所以会报这种错误。

本文作者:ZzUuOo666

本文链接:https://www.cnblogs.com/zzuuoo666/p/8598969.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   ZzUuOo666  阅读(13719)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起