在登录界面进行测试时,发生了一件奇怪的事情,视频中因为跨域访问而导致错误的现象并没有出现,虽然也按照这样修改了代码,但是更加奇怪的一直报Internal Service Error的错误。 
因为是和同学一块学习的分工合作,所以他也一直认为错误在他的前端代码上,甚至我们连麦对着视频进行了很多次的讨论,包括但不限于重新建项目,然而都没有成效。
最后发现了问题出在后台,没错,在找了两个小时后,我说一句不如看一下后台有没有报错,结果真的,空指针了……
问题来自于cookie的工具类
public static String getCookie(HttpServletRequest request, String key) {
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
if (key.equals(cookie.getName())) {
return cookie.getValue();
}
}
}
return null;
}
这边直接返回了null,而且应该是在
return cookie.getValue()
这里
综合查看了一下,似乎是因为随意的账号密码,在未保存于数据库中的refreshcode之间出现了问题。而报出了空指针异常,只需要添加一行代码就可以了。
public static String getCookie(HttpServletRequest request, String key) {
Cookie[] cookies = request.getCookies();
if(cookies!=null&&cookies.length>0){
for (Cookie cookie : cookies) {
if (key.equals(cookie.getName())) {
return cookie.getValue();
}
}
}
return null;
}
这样子就能够解决问题了,之后测试成功。