JAVA记住密码功能的实现代码
准备:SSM框架,mysql数据库
用户表user
实体类:
publicclassUser{ /** *主键id */ privateIntegeruserId; /** *账号 */ privateStringusername; /** *密码 */ privateStringpassword; publicIntegergetUserId(){ returnuserId; } publicvoidsetUserId(IntegeruserId){ this.userId=userId; } publicStringgetUsername(){ returnusername; } publicvoidsetUsername(Stringusername){ this.username=username; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } }
UserMapper
select*froms_userwhereusername=#{username}
mapper层
publicinterfaceUserMapper{ UsergetUserByname(Stringusername); }
service层
publicinterfaceUserService{ UsergetUserByname(Stringusername,Stringpassword,HttpSessionsession,HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse); }
impl
@Service publicclassUserServiceImplimplementsUserService{ @Autowired privateUserMapperuserMapper; @Override publicResultVOgetUserByname(Stringusername,Stringpassword,HttpSessionsession,HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse){ Stringremember=httpServletRequest.getParameter("remember"); if(username!=null&&username!=0){ Useruser=userMapper.getUserByname(username); if(user!=null&&user.getPassword().equals(password)){ session.setAttribute("user",user); if(remember!=null){ CookiecookieUser=newCookie("username",username); CookiecookiePass=newCookie("password",password); cookieUser.setMaxAge(60*60*24); cookiePass.setMaxAge(60*60*24); httpServletResponse.addCookie(cookieUser); httpServletResponse.addCookie(cookiePass); returnResultVO.success(user); } returnResultVO.error(1,"用户名或密码错误"); } returnResultVO.error(3,"用户名或密码不能为空"); } }
Controller
@RestController publicclassUserController{ @Autowired privateUserServiceuserService; //登录 @RequestMapping("/getUserByname") publicResultVOgetUserByname(Stringusername,Stringpassword,HttpSessionsession,HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse){ returnuserService.getUserByname(username,password,session,httpServletRequest,httpServletResponse); } }
前端代码(JSP)
html的自己修改下,样式是BootStrap的
<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%> <%@pagecontentType="text/html;charset=UTF-8"language="java"%>登录 用户名