DBhelper工具类
public class DBhelper {
public static final String URL = "jdbc:mysql://localhost:3306/bank";
public static final String USER = "root";
public static final String PWD = "root";
public static Connection conn=null;
static {
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PWD);
}catch (Exception e){
e.printStackTrace();
}
}
public static Connection getConn() {
return conn;
}
}
调用:
DBhelper.getConn();
// 会返回一个连接对象,再操作数据库
JDBC实现类调用DBhelper.java
public class LoginDaoImpl implements LoginDao{
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
// 根据传入的name 查询是否存在该用户, 如果存在,就返回一个新用户,不存在,返回null
@Override
public User selectUserByName(String name) {
conn = DBhelper.getConn();
User user = new User();
String sql = "select * from user where name = ?";
try {
ps=conn.prepareStatement(sql);
ps.setString(1,name);
rs = ps.executeQuery();
if (rs.next()){
user.setId(rs.getInt(1));
user.setName(rs.getString(2));
user.setPwd(rs.getString(3));
System.out.println(user);
}else {
return null;
}
} catch (SQLException e1) {
e1.printStackTrace();
}
return user;
}
}
校验前端用户名是否存在的一个 Servlet 类
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置请求和响应的编码格式
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
// 从前端获取name属性
String name = req.getParameter("name");
// System.out.println(name);
LoginDao login = new LoginDaoImpl();
User user = login.selectUserByName(name);
// 向前端传值,数据库查到该用户,写入1,反之写2
if (user!=null) {
resp.getWriter().write("1");
}else {
resp.getWriter().write("2");
}
}
}
实体类 User
// lombok 插件生成getter / setter
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Integer id;
private String name;
private String pwd;
}
前端 jsp:
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>login</title>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
</head>
<body>
<form action="/login" method="post">
用户名:<input id="name" type="text" name="name"><span id="msg"></span><br>
密 码: <input type="password" name="pwd"><br>
<input type="submit" value="注册">
</form>
<script type="text/javascript">
$(function () {
$("#name").change(function (){
// alert("123");
/* $.ajax({
type:"get",
url:"login?name="+$("#name").val(),
dataType:"text",
success:function (data){
if(data===1){
$("#msg").html("用户名已存在,请更换").css("color","red");
}else {
$("#msg").html("用户名不存在,可以使用").css("color","green");
}
}
})*/
$.post("login","name="+this.value,function (data){
if (data==="1"){
$("#msg").html("unable!").css("color","red");
}else {
$("#msg").html("ok!").css("color","green");
}
})
})
})
</script>
</body>
</html>
完成效果