发表于: 2020-07-14 21:43:37

1 2145


今天玩完成的事情:写了可以发送验证码的JSP页面

了解到 submit 与 button 的区别

submit  提交form表单,地址就是action , 

button  是一个按钮,配合href 使用可以跳转到href后边的地址

发送验证码

<form action="sendCode"  method="post">
   手机号:<input type="text" name="phone"><br>
   验证码:<input type="text" name="code">
   <input type="submit" value="发送验证码">
</form>
<br></br>
<br></br>
<a href="toRegister"><input type="button" value="普通注册"></a>
<a href="toRegisterByEmail"><input type="button" value="使用邮箱注册"></a>
<a href="toLogin"> <input type="button" value="已有账户?点我登录"> </a>

点击发送验证码会执行sendCode方法

@RequestMapping(value = "/sendCode")
public String sendCode(HttpServletRequest request) throws ClientException {
String phoneNumber = request.getParameter("phone");
   System.out.println("输入手机号为"+ phoneNumber);
   //发送短信
   SendSmsResponse sendSmsResponse= smsService.sendSms(phoneNumber);
   System.out.println("短信接口返回数据----------------");
   System.out.println("Code=" + sendSmsResponse.getCode());
   System.out.println("Message=" + sendSmsResponse.getMessage());
   return "redirect:/toRegisterByPhone";
}

执行sendCode方法会跳转到手机注册页面

<form action="registerByPhone"  method="post">
   手机号:<input type="text" name="phone"><br>
   验证码:<input type="text" name="code"><br>
   小密码:<input type="text" name="password"><br>
   <input type="submit" value="注册">
</form>
<br></br>
<br></br>
<a href="toSendCode"><input type="button" value="验证码"></a>
<a href="toRegister"><input type="button" value="普通注册"></a>
<a href="toRegisterByEmail"><input type="button" value="使用邮箱注册"></a>
<a href="toLogin"> <input type="button" value="已有账户?点我登录"> </a>

在这里注册跟普通的注册不同的地方就是把验证码存到了缓存当中,

@RequestMapping(value = "/registerByPhone")
public String registerByPhone(User user, Model model, HttpServletRequest request) throws ClientException {
String password = user.getPassword();
   String phone = user.getPhone();
   String code = user.getCode();

   System.out.println( "密码码为:" + password + "手机号为:" + phone + "验证码为:" + code);
   //判断输入的用户名是否为空或者空字符
   if( phone != null && phone !=""){
//判断数据库中是否有此手机号
       User user1 = userService.findPhone(phone);
       //如果查询出的账户为空(代表用户不存在),才能注册
       if(ObjectUtils.isEmpty(user1)){
try{
//插入数据
               int id = userService.addUserByPhone(phone);
               System.out.print("注册成功,请登录,用户ID是:" + id);
               //返回到登录页面
               return "redirect:/toLogin";
           }catch (Exception e){
System.out.print("注册失败,请重新填写注册信息");
               model.addAttribute("mes","注册失败,请重新填写注册信息");
               return "redirect:/toRegister";
           }
}else {
System.out.print("用户名已经存在,请更换用户名");
           model.addAttribute("mes","用户名已经存在,请更换用户名");
           return "redirect:/toRegister";
       }
}else{
System.out.print("用户名不能为空");
       model.addAttribute("mes","用户名不能为空");
       return "redirect:/toRegister";
   }
}

控制台结果

但是注册却报错了.....emmmm 



明天计划的事情:解决报错










返回列表 返回列表
评论

    分享到