關於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有某些操作,所以會報這種錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM