javaweb实现登录注册

11 篇文章 0 订阅
9 篇文章 0 订阅

Springboot+mybatis+mysql

用户表–User

用户基础信息存储表

列名名称类型唯一否可空否外键否默认值备注
UserId用户IDint(11)YN主键
UserName用户名varchar(200)YN
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)YN每个账号自己的邀请码,用于推荐别人注册

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 in</button>

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");
	}

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值