1.导入jQuery,便于接下来实现用户名,密码,确认密码的判断
2.新建一个Regservlet用来实现往数据库中添加新记录
需实现:检测数据库中是否已有该username,若存在该用户名,返回“对不起,该用户已存在”
package org.lanqiao.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.lanqiao.util.DBUtil;
/**
* Servlet implementation class Regservlet
*/
@WebServlet("/Regservlet")
public class Regservlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置参数的字符集
request.setCharacterEncoding("utf-8");
String name=request.getParameter("username");
String pass=request.getParameter("pass");
//注册之前进行查询
//创建数据库连接
Connection conn=DBUtil.getConn();
String selectSql="select * from stu_tab where name=?";
//参数
Object[] objs={name};
//执行查询
ResultSet rs=DBUtil.excuteQuery(selectSql, objs);
try {
if(!rs.next()) {
//说明用户名没有注册
String insertSql="insert into stu_tab(name,pass) values(?,?)";
Object[] objs2= {name,pass};
int result=DBUtil.excuteUpdate(insertSql, objs2);
if(result>0) {
//说明注册成功,跳回登录页
response.sendRedirect("login.jsp");
}else {
request.setAttribute("msg", "注册失败,请联系客服");
request.getRequestDispatcher("Reg.jsp").forward(request, response);
}
}else {
request.setAttribute("msg", "对不起,该用户已存在");
request.getRequestDispatcher("Reg.jsp").forward(request, response);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.创建Reg.jsp
实现用户名,密码,确认密码检测
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册</title>
</head>
<body>
<h1>
<%
Object msg=request.getAttribute("msg");
if(msg!=null){
out.println("<h1>"+msg+"</h1>");
}
%>
</h1>
<form action="Regservlet" method="post" onsubmit="return checkForm()">
用户名: <input onblur="checkName()" id="username" type="text" name="username"/><span id="nameErr"></span><br/>
密码: <input onblur="checkPass()" id="pass" type="password" name="pass"/><span id="passErr"></span><br/>
确认密码: <input onblur="checkRepass()" id="repass" type="password" name="repass"/><span id="repassErr"></span><br/>
<input type="submit" value="注册"/>
</form>
</body>
<script src="js/jquery-1.11.0.js"></script>
<script>
function checkForm() {
if(checkName() && checkPass() && checkRepass()) {
return true;
} else {
return false;
}
}
//检查用户名
function checkName() {
var username = $("#username").val();
if(username.length > 6) {
$("#nameErr").html("<font color='green'>输入正确</font>")
return true;
} else {
$("#nameErr").html("<font color='red'>用户名是六位以上</font>")
// alert("用户名要六位以上!!!");
return false;
}
}
//检测密码
function checkPass() {
var pass = $("#pass").val();
if(pass.length > 6) {
$("#passErr").html("<font color='green'>输入正确</font>")
return true;
} else {
$("#passErr").html("<font color='red'>密码需要六位以上</font>")
// alert("密码要六位以上!!!");
return false;
}
}
//检测确认密码
function checkRepass() {
var repass = $("#repass").val();
var pass = $("#pass").val();
if(repass == pass) {
$("#repassErr").html("<font color='green'>输入正确</font>")
return true;
} else {
$("#repassErr").html("<font color='red'>两次密码不同!</font>")
// alert("密码和确认密码不同!!!");
return false;
}
}
</script>
</html>