Controller代码
package com.cy.controller;
import com.cy.entity.User;
import com.cy.service.UserService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@RestController
public class UserController {
@RequestMapping("getAll")
public ArrayList<User> getAll() {
UserService userService = new UserService();
return userService.showAll();
}
@RequestMapping("delete")
public Map remove(HttpServletRequest request) {
UserService us = new UserService();
String id = request.getParameter("id");
boolean result = us.delete(id);
Map map = new HashMap();
map.put("result", result);
return map;
}
@RequestMapping("login")
@ResponseBody
public Object login(@RequestBody User user) {
UserService us = new UserService();
if (us.loginUser(user.getUsername(), user.getPassword()).size() > 0) {
return "success";
} else {
return "fail";
}
}
@RequestMapping("register")
@ResponseBody
public Object register(@RequestBody User user) {
UserService us = new UserService();
if (us.registerUser(user.getUsername(), user.getPassword()) != null) {
return "success";
} else {
return "fail";
}
}
@RequestMapping("checkName")
@ResponseBody
public Map checkName(HttpServletRequest request) {
UserService us = new UserService();
String username = request.getParameter("username");
User user = us.findByName(username);
boolean result = false;
if(user!=null){
result = true;
}
Map map = new HashMap();
map.put("result", result);
return map;
}
}
Service
package com.cy.controller;
import com.cy.entity.User;
import com.cy.service.UserService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@RestController
public class UserController {
@RequestMapping("getAll")
public ArrayList<User> getAll() {
UserService userService = new UserService();
return userService.showAll();
}
@RequestMapping("delete")
public Map remove(HttpServletRequest request) {
UserService us = new UserService();
String id = request.getParameter("id");
boolean result = us.delete(id);
Map map = new HashMap();
map.put("result", result);
return map;
}
@RequestMapping("login")
@ResponseBody
public Object login(@RequestBody User user) {
UserService us = new UserService();
if (us.loginUser(user.getUsername(), user.getPassword()).size() > 0) {
return "success";
} else {
return "fail";
}
}
@RequestMapping("register")
@ResponseBody
public Object register(@RequestBody User user) {
UserService us = new UserService();
if (us.registerUser(user.getUsername(), user.getPassword()) != null) {
return "success";
} else {
return "fail";
}
}
@RequestMapping("checkName")
@ResponseBody
public Map checkName(HttpServletRequest request) {
UserService us = new UserService();
String username = request.getParameter("username");
User user = us.findByName(username);
boolean result = false;
if(user!=null){
result = true;
}
Map map = new HashMap();
map.put("result", result);
return map;
}
}
前端页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>登陆</title>
<link rel="stylesheet" href="css/auth.css">
<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/popper.js/1.12.5/umd/popper.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/4.1.0/js/bootstrap.min.js"></script>
<script src="js/login.js"></script>
</head>
<body>
<div class="lowin lowin-blue">
<div class="lowin-brand">
<!--<img src="static/kodinger.jpg" alt="logo">-->
</div>
<div class="lowin-wrapper">
<div class="lowin-box lowin-login">
<div class="lowin-box-inner">
<form>
<p>Sign in to continue</p>
<div class="lowin-group">
<label>用户名 <a href="#" class="login-back-link">Sign in?</a></label>
<input type="text" class="lowin-input" id="name" name="username" >
<p style="color:red;display: none" id="namep">用户名过长</p>
<p style="color:red;display: none" id="namepp" >名字不为空</p>
</div>
<div class="lowin-group password-group">
<label>密码 </label>
<input type="password" class="lowin-input" id="pwd" name="userpwd" >
<p style="color:red;display: none" id="pwdp" >密码不为空</p>
</div>
<br>
<button type="button" class="lowin-btn login-btn" id="btn" name="btn">
登陆
</button>
<div class="text-foot">
没有账号? <a href="register.html" class="register-link">注册</a>
</div>
</form>
</div>
</div>
</div>
</div>
<script src="js/auth.js"></script>
<script>
Auth.init({
login_url: '#login',
forgot_url: '#forgot'
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/popper.js/1.12.5/umd/popper.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/4.1.0/js/bootstrap.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>注册</title>
<link rel="stylesheet" href="css/auth.css">
<script src="js/register.js"></script>
</head>
<body>
<div class="lowin lowin-blue">
<div class="lowin-brand">
<!--<img src="static/kodinger.jpg" alt="logo">-->
</div>
<div class="lowin-wrapper">
<div class="lowin-box lowin-register">
<div class="lowin-box-inner">
<form>
<p>Let's create your account</p>
<div class="lowin-group">
<label>用户名</label>
<input type="text" id="name" name="username" class="lowin-input">
<p style="color:red;display: none" id="namep">用户名过长</p>
<p style="color:red;display: none" id="namepp">用户名不为空</p>
<p style="color:red;display: none" id="nameppp">用户名已被注册</p>
</div>
<div class="lowin-group">
<label>密码</label>
<input type="password" id="pwd" name="userpwd" class="lowin-input">
<p style="color:red;display: none" id="pwdp">密码应为6-15位</p>
</div>
<div class="lowin-group">
<label>再次输入密码</label>
<input type="password" id="pwd2" class="lowin-input">
<p style="color:red;display: none" id="pwd2p">密码应为6-15位</p>
<p style="color:red;display: none" id="pwd3p">两次密码必须相同</p>
</div>
<button type="submit" class="lowin-btn" id="btn" name="btn">
注册
</button>
<div class="text-foot">
已有账号? <a href="login.html" class="login-link">登陆</a>
</div>
</form>
</div>
</div>
</div>
</div>
<script src="js/auth.js"></script>
<script>
Auth.init({
login_url: '#login',
forgot_url: '#forgot'
});
</script>
</body>
</html>
JS代码
$(function () {
$("#btn").attr('disabled', true);
$("#namep").hide();
$("#pwd").blur(function () {
var pwd = $("#pwd").val();
if (pwd.length == 0) {
$("#pwdp").show();
$("#btn").attr('disabled', true);
} else {
$("#pwdp").hide();
$("#btn").attr('disabled', false);
}
});
$("#name").blur(function () {
var name = $("#name").val();
if (name.length == 0) {
$("#namepp").show();
$("#btn").attr('disabled', true);
} else if (name.length > 0) {
$("#namepp").hide();
$("#btn").attr('disabled', false);
}
if (/^[0-9a-zA-Z_]{1,30}$/.test(name)) {
$("#namep").hide();
$("#btn").attr('disabled', false);
} else if (name.length > 30) {
$("#namep").show();
$("#btn").attr('disabled', true);
}
});
$("button[name='btn']").click(function () {
var adata = {
"username": $("#name").val(),
"password": $("#pwd").val()
}
var data = JSON.stringify(adata);
$.ajax({
type: "POST",
contentType: "application/json",
data: data,
url: "login",
success: function (res) {
if (res != "" && res == "success") {
window.location.href = "index.html";
} else {
alert("登陆失败");
window.location.href = "login.html";
}
},
error: function () {
window.location.href = "login.html";
}
});
})
})
$(function () {
$("#btn").attr('disabled',true);
$("#namep").hide();
$("#pwd").blur(function () {
var pwd = $("#pwd").val();
if (/^[0-9a-zA-Z_]{6,15}$/.test(pwd)) {
$("#pwdp").hide();
$("#btn").attr('disabled',false);
} else {
$("#pwdp").show();
$("#btn").attr('disabled',true);
}
});
$("#pwd2").blur(function () {
var pwd2 = $("#pwd2").val();
if (pwd2 != $("#pwd").val()) {
$("#pwd3p").show();
$("#btn").attr('disabled',true);
} else if (pwd2 == $("#pwd").val()) {
$("#pwd3p").hide();
$("#btn").attr('disabled',false);
}
if (pwd2.length == 0) {
$("#pwd2p").show();
$("#btn").attr('disabled',true);
} else if (pwd2.length > 0) {
$("#pwd2p").hide();
$("#btn").attr('disabled',false);
}
});
$("#name").blur(function () {
var name = $("#name").val();
if (this.value.length == 0) {
$("#namepp").show();
$("#btn").attr('disabled',true);
} else if (name.length > 0) {
$("#namepp").hide();
$("#btn").attr('disabled',false);
}
if (/^[0-9a-zA-Z_]{1,30}$/.test(name)) {
$("#namep").hide();
$("#btn").attr('disabled',false);
} else if (name.length > 30) {
$("#namep").show();
$("#btn").attr('disabled',true);
}
$.getJSON("checkName",{username:name},function (json) {
console.log(json);
var rs=json.result+"";
console.log(rs);
if(rs=='false'){
$("#nameppp").hide();
$("#btn").attr('disabled',false);
}else {
$("#nameppp").show();
$("#btn").attr('disabled',true);
}
});
});
$("button[name='btn']").click(function () {
var adata = {
"username" : $("#name").val(),
"password" : $("#pwd").val()
}
var data = JSON.stringify(adata);
console.log(data);
$.ajax({
type : "POST",
contentType : "application/json",
data : data,
url : "register",
success: function (res) {
console.log(res);
if(res !="" &&res =="success"){
alert("注册成功");
window.location.href="login.html";
}else{
alert("注册失败");
window.location.href="register.html";
}
},
error: function () {
alert("失败");
window.location.href="register.html";
}
});
})
})
效果