写了一个登陆接口,打算在登录时创建一个session存放账户的信息
@ResponseBody
@RequestMapping(value = "/login1",method = {RequestMethod.POST})
public SignInRes signIn(@RequestBody SignInReq signInReq, Model map, HttpSession session){
UsersInfo usersInfo= new UsersInfo();
SignInRes signInRes =new SignInRes();
Map<String,Object> params=new HashMap<String, Object>();
params.put("account", signInReq.getUsername());
usersInfo = dao.selectByAccount(params);
if (usersInfo.getPwd().equals(signInReq.getPassword()))
{
map.addAttribute("name",signInReq.getUsername());
map.addAttribute("company",usersInfo.getCompany());
map.addAttribute("permissions",usersInfo.getPermissions());
System.out.println(session.getAttribute("name"));
System.out.println(session.getAttribute("company"));
System.out.println(session.getAttribute("permissions"));
System.out.println(session.getId());
signInRes.setMsg("成功登录");
signInRes.setCode(200);
signInRes.setRole(usersInfo.getPermissions());
}
else {
signInRes.setMsg("登录失败");
signInRes.setCode(500);
}
return signInRes;
然后之后在需要根据账户获取该账户在数据库中的某些信息条目时调用比如这个接口
@ResponseBody
@RequestMapping(value="/repairs/accept",method= {RequestMethod.GET})
public AcceptList findAcceptListByPageAndStatus(String status, int page, HttpSession session) {
PageParam pageParam = new PageParam();
pageParam.setCurrPage(page);
System.out.println(session.getId());
return mainatinAnddeclareservice.findAcceptListByPageAndStatus(status, pageParam,session.getAttribute("name").toString());
}
如果我用postman处理请求是能够正确返回数据库里的内容的,但是如果在浏览器中使用这个url,就会报错空指针异常,按F12里session也是空的。
请问这是什么原因呢?