js部分的代码
<script type="text/javascript">
$(function(){
//登陆功能事件绑定
$("#login").click(userLogin);
//注册功能时间绑定
$("#regist_button").click(function(){
//获取参数
var name = $("#regist_username").val().trim();//trim()去掉空格
var nick = $("#nickname").val().trim();
var password = $("#regist_password").val().trim();
var final_password = $("#final_password").val().trim();
//进行数据格式的检测
//检查用户
var ok = true;//ok是状态值,如果走进if,将其设为false,即不发送
if(name == ""){
ok=false;
$("#warning_1 span").html("用户名不能为空");//设置用户名后span的值
$("#warning_1").show();//让它显示出来
}
//检测密码 1-非空 2-不能小于6位
if(password == ""){
ok=false;
$("#warning_2 span").html("密码不能为空");
$("#warning_2").show();
}else if(password.length>0 && password.length<6){
ok=false;
$("#warning_2 span").html("密码不能小于6位");
$("#warning_2").show();
}
//检测确认密码 1-非空 2-是否与密码一致
if(final_password != password){
ok=false;
//$("#warning_3 span").html("输入密码不一致");
$("#warning_3").show();//后面已经写好了,其实用不到上面那句代码。
}
//状态值ok为true时,执行发送
if(ok){
$.ajax({
url:base+"/user/add.do",
type:"post",
data:{"name":name,"nick":nick,"password":password},
dataType:"json",
success:function(result){
//注册成功
if(result.status == 0){
alert(result.msg);
alert("注册成功!请直接登陆!");
//返回登陆页面
$("#back").click();
}else if(result.status == 1){//用户名被占用
$("#warning_1 span").html(result.msg);
$("#warning_1").show();
}
},
error:function(){
alert("注册失败");
}
});
}
});
});
</script>
然后controller部分:
package cn.tedu.cloud_note.controller;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.tedu.cloud_note.service.UserService;
import cn.tedu.cloud_note.util.NoteResult;
@Controller
@RequestMapping("/user")
public class UserRegistController {
@Resource
UserService userService;
@RequestMapping("/add.do")
@ResponseBody
public NoteResult<Object> execute(String name,String password,String nick){
NoteResult<Object> result = userService.addUser(name, password, nick);
return result;
}
}
Service部分:
//注册
public NoteResult<Object> addUser(String name,String password,String nick){
NoteResult<Object> result = new NoteResult<Object>();
//用户检测
User hasUser = userDao.findByName(name);
if(hasUser != null) {//用户名已存在
result.setStatus(1);
result.setMsg("用户名已被占用");
return result;
}
//创建用户
User user = new User();
//设置用户名
user.setCn_user_name(name);
//设置用户密码
String md5Password = NoteUtil.md5(password);
user.setCn_user_password(md5Password);
//设置用户昵称
user.setCn_user_nick(nick);
//创建用户id
String id = NoteUtil.createId();
//设置用户id
user.setCn_user_id(id);
//插入用户
userDao.save(user);
//构建返回结果
result.setStatus(0);//0代表成功
result.setMsg("注册成功");
return result;
}
Mapper映射文件部分:
<select id="save" parameterType="cn.tedu.cloud_note.entity.User">
INSERT INTO cn_user(cn_user_id,
cn_user_name,
cn_user_password,
cn_user_nick,
cn_user_token)
VALUES(#{cn_user_id},
#{cn_user_name},
#{cn_user_password},
#{cn_user_nick},
#{cn_user_token})
</select>
然后更改一下Dao部分,增加一个方法
package cn.tedu.cloud_note.dao;
import cn.tedu.cloud_note.entity.User;
public interface UserDao {
//登陆方法
public User findByName(String name);
//注册方法
public void save(User user);
}