@RequestMapping(path = "/login",method = RequestMethod.POST)
public ResultVo login(String username, String password, HttpServletResponse response, HttpServletRequest request) throws IOException {
//必须不能写上这个不然必报错PrintWriter out = response.getWriter();
System.out.println(username+" "+password);
if(username!=null&&password!=null){
User user = userService.userLogin(username,password);
if(user!=null&&user.getUserpassword().equals(password)){
request.getSession().setAttribute("user",user);
System.out.println("用户登录成功");
// response.sendRedirect(request.getContextPath()+"/welcome");
return ResultUtil.successWitMsg("登录成功");
}else{
System.out.println("密码不对应");
//response.sendRedirect(request.getContextPath()+FAIL_VIEW);
}
}else{
//输出不能为空的问题
System.out.println("不能为空");
}
return ResultUtil.errorWithMsg("登录失败");
}
避免代码中存在response.getWriter()写法就能避免该问题。尽可能的采用response.getOutputStream()来输出。
如果应用中包含的有fastJson, siteMesh, urlWriter等插件,都要更改response.getWriter()为response.getOutputStream()