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"%>登录 用户名