javaweb实现登录注册

Springboot+mybatis+mysql

用户表–User

用户基础信息存储表

列名 名称 类型 唯一否 可空否 外键否 默认值 备注
UserId 用户ID int(11) Y N 主键
UserName 用户名 varchar(200) Y N
Password 密码 varchar(200) N
NickName 昵称 varchar(200) N
Email 邮箱 varchar(200) Y
RegisterTime 注册时间 timestamp 插入时间 插入时自动生成
Birth 出生年月 varchar(200) 格式:yyyy-MM-dd
Fans 粉丝数 int(11) 0
Follow 关注数 int(11) 0
Score 积分 int(11) 0
HeadImgAddr 头像地址 varchar(200) Y
Phone 手机号码 varchar(11) Y
InvitationCode 邀请码 varchar(200) Y N 每个账号自己的邀请码,用于推荐别人注册

SQL语句

create table User
(
  UserId         int auto_increment
  comment '用户id',
  UserName       varchar(200)                        not null
  comment '用户名',
  Password       varchar(200)                        not null
  comment '密码',
  NickName       varchar(200)                        not null
  comment '昵称',
  Email          varchar(200)                        null
  comment '邮箱',
  RegisterTime   timestamp default CURRENT_TIMESTAMP not null
  on update CURRENT_TIMESTAMP
  comment '注册时间',
  Fans           int default '0'                     null
  comment '粉丝数',
  Follow         int default '0'                     null
  comment '关注',
  Score          int default '0'                     null
  comment '积分',
  HeadImgAddr    varchar(200)                        null
  comment '头像地址',
  Phone          varchar(11)                         null
  comment '手机号码',
  InvitationCode varchar(200)                        null
  comment '邀请码',
  Birth          varchar(200)                        null
  comment '出生年月',
  constraint user_UserId_uindex
  unique (UserId),
  constraint user_UserName_uindex
  unique (UserName)
)
  comment '用户表';

alter table User
  add primary key (UserId);

UserMapper

 /**根据用户名查询用户*/
 @Select("select * from User where UserName = #{UserName}")
 User select(@Param("UserName") String userName);

UserService

 @Autowired
 private UserMapper userMapper;
    public JSONObject loginJudge(String userName, String password, HttpSession session){
        JSONObject json = new JSONObject();
        User user = userMapper.select(userName);
        if(user==null){
            json.put("code",0);
            json.put("msg","账号不存在");
            return json;
        }
        /*
        hash加密的密码判断方式
        if(!new SHA1().encode(password).equals(user.getPassword())){
        //SHA1是hash加密的工具类,采用sha1算法加密
            json.put("code",0);
            json.put("msg","账号密码不匹配");
            return json;
        }*/
        if(!password.equals(user.getPassword())){
            json.put("code",0);
            json.put("msg","账号密码不匹配");
            return json;
        }
        json.put("code",1);
        json.put("msg","SUCCESS");
        json.put("data",user);
        //登录成功后放入添加session
        session.setAttribute("user",user);
        return json;
    }

UserController

 /**登录判断*/
    @RequestMapping(value="/login-judge",method = RequestMethod.POST)
    public JSONObject loginJudge(HttpServletRequest request, HttpSession session){
        JSONObject json = new JSONObject();
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        if(username==null||username.length()==0||password==null||password.length()==0){
            json.put("code",0);
            json.put("msg","账号密码不能为空");
            return json;
        }
        json = userService.loginJudge(username,password,session);
        return json;
    }

html页面有个账号密码框和登录按钮就行

 <input id="username" spellcheck=false class="form-control" name="username" type="text" size="18" alt="login" required="">
  <input id="password" class="form-control" spellcheck=false name="password" type="password" size="18" alt="login" required="">
  <button id="submit" type="submit" ripple>Sign inbutton>

ajax请求,点登录按钮后调用login函数

function login(username,password){
        $("#submit").text("Loading...");
	    $.ajax({
			type:'POST',
			url:'/login-judge',
			data:{"username":username,"password":password},
            dataType:"json",
			success:function(result){
				if(result.code==0){
				    alert(result.msg);
				}else{//登录成功
				    alert("登录成功");
				}
			},
			error:function(result){
				alert("Http请求出错!");
			}
		});
	    $("#submit").text("Sign in");
	}

javaweb实现登录注册_第1张图片

你可能感兴趣的:(springboot,设计,记录)