用Ajax 在SpringBoot+Mybits中写注册&登录

 项目的文件路径

  • 步骤一:

在UserMapper.java中写入如下代码:

//直接操作数据库中的数据

//查找数据库中是否存在这个用户
   @Select("select * from user where account =#{account}")
   @Results(id="userMapper",value={
	   		@Result(column="uid",property="uid",id=true),
	   		@Result(column="account",property="account"),
	   		@Result(column="password",property="password"),
	   		@Result(column="tel",property="tel"),
	   		@Result(column="username",property="username"),
	   		@Result(column="createtime",property="createtime"),
	   		@Result(column="uimg",property="uimg"),
	   		@Result(column="sex",property="sex"),
	   		@Result(column="email",property="email"),
	   		@Result(column="state",property="state"),
	   		@Result(column="typeid",property="typeid")
  })
   User seleUser(String account);
	
//注册  --- 插入一条用户信息的数据
   @Insert("INSERT INTO `user` (`account`, `password`, `tel`, `username`, `sex`, `email` ) VALUES ( '${account}', '${password}', '${tel}', '${username}', '${sex}', '${email}')")
   int addUser(@Param("account")String account,@Param("password")String password,@Param("tel")String tel,@Param("username")String username,@Param("sex")String sex,@Param("email")String email);
    
   
  •  步骤二

 在UserService.java中封装方法:

//注册
@Service          //调用注解方式
public class UserService {
   @Autowired    //依赖注入信息 自动扫描相应属性和方法
   private UserMapper userMapper;
   
   //注册 增加一条用户数据  我这里选择插入账号、密码、电话、姓名、性别、邮箱信息
   public int addUser(String account,String password, String tel, String username,String sex, String email) {
	return userMapper.addUser(account, password, tel, username, sex, email);
  }

   //查询用户名是否重复 [在数据库查找所有用户看是否有重复的进行验证]
   public User seleUser(String account) {
	   return userMapper.seleUser(account);
   }
}

 

  • 步骤三

在UserController层中写相应的代码:(其实以下代码也可以写在service层  这里是为了让你更好理解)

//控制器

@Controller
public class UserController {
   @Autowired
   private UserService userService;
   //注册
	@RequestMapping(value="/regist")   //取一个搜索网址的名字
	@ResponseBody   //把返回值变成string类型 进行对ajax传值
	public String regist(
    //得到页面的id属性 并定义相应的变量
		@RequestParam("account")String account,@RequestParam("password")String password,
		@RequestParam("tel")String tel,@RequestParam("username")String username,
		@RequestParam("sex")String sex, @RequestParam("email")String email
	){
		try {
           //得到相应的方法 返回给一个对象 根据账号得到这个对象的数据
			User user = userService.seleUser(account);
			if (account !="" || email != "") { // 进行空验证 在此本人是对账号和邮箱进行空验证
				if (user==null) { 
          //如果用户等于空 证明在数据库没有找到此用户 可以进行如下的注册操作
					userService.addUser(account, password, tel, username, sex, email);
					return "success";
                //返回成功字符串 为了之后在页面可以进行回调
				}else {
					return "error is user exist";
                     //否则返回相应的错误信息 用户已经存在 不能进行注册
				}	
			}else {
				return "error is null"; //返回错误信息 不能输入为空的信息
			}
		} catch (Exception e) {
			return "error is user exit";  //无论try什么错(上面没有判断的除外) 
                                          //都返回catch输出
		}
	}
	
	@RequestMapping("reg")   //返回一个注册的页面
    public String reg () {
    	return "register";
    }
}
  • 步骤四

返回到页面层 使用ajax进行传输数据:

<script>
function registss(){
    		$.ajax({
    			type: "post",
    			url: "regist",
    			data: {account:$("#account").val(),
    				   password:$("#password").val(),
    	               tel:$("#phone").val(),
    	               username:$("#username").val(),
    	               sex:$(".with-gap").val(),
    	               email:$("#email").val()
    	               },
    	        success: function(data){
    	        	if(data=="success"){
    	        		window.location.href="log";
    	        	}else{
    	        		$("#error").html(data);
    	        	}
    	        }
    		})
    	}
</script>

<input placeholder="account" id="account" name="account" type="text" class="validate">
                   
<input placeholder="Username" id="username" name="username" type="text" class="validate">
                   
<input placeholder="Password" id="password" name="password" type="password" class="validate">
                  
<input placeholder="Email" id="email" name="email" type="email" class="validate">
                 
<input placeholder="Phone" id="phone" name="phone" type="tel" class="validate">
                
<label class="mr-4">
   <input class="with-gap" name="title" type="radio" value="男"  /><span>Mr.</span>
</label>
 <label class="mr-4">
    <input class="with-gap" name="title" type="radio" value="女" /> <span>Ms.</span>
</label>
          <p id="error" style="color: red;"></p>
         
 <a href="log"><i>已有账号 前去登录 &nbsp;&nbsp;</i></a>
 <button onclick="registss()" class="waves-effect btn-large btn-large-white px-4 tm-border-radius-0" >Sign Up</button>
                

 好了到这里我们的注册就写完了!

现在开始登录的ajax代码--在此还是层层讲解但是跟上面差不多就不详细讲解了:

  • 步骤一:

在UserMapper.java中写入如下代码:

//登录
    @Select("select * from user where account=#{account} and password = #{password} ")
    @ResultMap("userMapper")
    User selectUserLogin(@Param("account")String account,@Param("password")String password);
  •  步骤二

 在UserService.java中封装方法:

//登录
   public User selectUserLogin(String account,String password) {
	   return userMapper.selectUserLogin(account, password);
   }
  • 步骤三

在UserController层中写相应的代码:

//登录
	@RequestMapping("log")
    public String log () {
    	return "login";
    }
	
	@RequestMapping(value = "/login")
	@ResponseBody
	public String login(@RequestParam("account")String account,
						@RequestParam("password")String password,
			            HttpSession session) {
			if(account!="" || password!="") {
				User user = userService.selectUserLogin(account, password);
				if (user!=null) {
					
					session.setAttribute("logins", user);
					return "success";
				}else {
					return "error is account or password is mistake";
				}
				
			}else {
				return "error is null";
			}
	}
	

页面层:

//   JQuery版本的ajax  先引用一下jQuery的文件库

<script type="text/javascript">
       function login(){
    	   $.ajax({
    		   type:"post",  //传输数据的方法
    		   url:"login",  //传输数据的路径
    		   data:{
    			   account:$("#account").val(), //得到页面用户名的id标签值赋值给ajax进行传输数据
    			   password:$("#password").val() //密码
    		   },
    		   success:function(data){  //controller层返回字符类型的值
    			  //注册的方法体
                   if(data=="success"){
    				   window.location.href="index";
    			   }else{
    				   $("#error").html(data);
    			   }
    		   }
    	   })
       }
</script>

//页面上的点击按钮进行调用相应的ajax方法 
  <input placeholder="account" id="account" name="username" type="text" class="validate">
                   
  <input placeholder="Password" id="password" name="password" 
                   
 <button onclick="login()"   class="waves-effect btn-large btn-large-white px-4 black-text rounded-0">Login</button>
                   


  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于这个问题,需要先了解什么是Spring Boot、MyBatis-Plus、Ajax、Layui和MySQL,然后再利用它们实现员工的登录注册功能。 1. Spring Boot是一个开源的Java框架,用于构建Spring应用程序。它采用“约定优于配置”的原则,能够快速地构建可独立运行的、生产级别的Spring应用程序。 2. MyBatis-Plus是MyBatis的一个增强工具包。它提供了很多便利的功能,例如代码生成器、分页插件、性能分析插件等,可以减轻开发人员的工作量。 3. Ajax是一种Web开发技术,可以用于在不重新加载整个页面的情况下更新部分页面。它能够提高用户体验,并减少服务器端的负载。 4. Layui是一款轻量级的前端UI框架,提供了丰富的组件和模板,可以快速地构建美观、实用的Web界面。 5. MySQL是一种关系型数据库管理系统,它采用了SQL语言来操作数据库。它是最流行的开源数据库之一,被广泛应用于Web开发领域。 基于以上技术,可以实现员工的登录注册功能。 1. 使用Spring Boot和MyBatis-Plus构建后端API。在员工表中添加用户名和密码字段,编写登录注册接口,使用MyBatis-Plus的代码生成器来生成数据库访问层的代码。 2. 使用Ajax来实现前端与后端的异步通信。当员工填写了用户名和密码后,通过Ajax提交给后端,后端进行验证并返回结果。如果验证通过,前端跳转到主页面,否则给出相应的错误提示。 3. 使用Layui来实现前端页面的美化。根据设计图,使用Layui的组件和模板来构建登录注册页面。为了提高用户体验,可以使用Layui的表单验证组件来对输入内容进行验证。 4. 使用MySQL来存储员工的信息。在员工表中添加用户名和密码字段,使用MySQL提供的用户名和密码验证功能来进行验证。 最后,需要将后端API部署到服务器上,并将前端页面部署到Web服务器上,使用户可以访问到。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值