为了账号安全,请及时绑定邮箱和手机立即绑定

关于未登录下单问题

我的OrderController中

//获取登录信息
Boolean isLogin = (boolean) httpServletRequest.getSession().getAttribute("IS_LOGIN");
System.out.println(isLogin.booleanValue());
if(isLogin == null || !isLogin.booleanValue()){
    throw new BussinessException(EmBusinessError.USER_NOT_LOGIN,"用户还未登陆,不能下单");
}

如果没有登陆,执行到第一句时程序就会直接终止,控制台显示空指针异常,而不会走下面那个USER_NOT_LOGIN异常,前端获取到的errcode不是20003的USER_NOT_LOGIN,而是10002 UNKNOW_ERROR,这和老师的不一样,该怎么解决

正在回答

4 回答

boolean只能是false和true,不能为空,如果强转过去就会报空指针异常。所以一般都是使用Boolean包装类的

0 回复 有任何疑惑可以回复我~

现在解决了吗



0 回复 有任何疑惑可以回复我~

但是我的问题是  它返回来的是一个null  我直接就GAMEOVER了


0 回复 有任何疑惑可以回复我~
#1

慕娘0242551

返回null可能是sessionid不一致了(可以检查login和createorder的sessionid是否一致),也就是跨域问题,如果程序按照老师编写,可把google浏览器的SameSite by default cookies设置为disabled,但是最新的chrome已没有这个设置了,可以换为旧版本
2021-06-01 回复 有任何疑惑可以回复我~

强转成 Boolean,而不是 boolean

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于未登录下单问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信