1. 程式人生 > >Web-專案_雲筆記-註冊模組

Web-專案_雲筆記-註冊模組

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