1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <title>注册</title> 8 <script type="text/javascript" src="/preparedTest/js/jquery.js"></script> 9 </head> 10 <body> 11 <form action="register" method="post" enctype="multipart/form-data" > 12 <p> 13 <span>学号:</span> 14 <input type="text" name="id" id="number"/> 15 </p> 16 <p> 17 <span>姓名:</span> 18 <input type="text" name="name"/> 19 </p> 20 <p> 21 <span>密码:</span> 22 <input type="password" name="password"/> 23 </p> 24 <p> 25 <span>确认密码:</span> 26 <input type="password" name="repassword"/> 27 </p> 28 <p> 29 <span>性别:</span> 30 <input type="radio" name="sex" value="男"/>男 31 <input type="radio" name="sex" value="女"/>女 32 </p> 33 <p> 34 <span>专业:</span> 35 <input type="text" name="specialty"/> 36 </p> 37 <p> 38 <span>上传头像:</span> 39 <input type="file" name="imgurl"> 40 </p> 41 <p> 42 <input type="submit" value="注册"/> 43 </p> 44 </form> 45 </body> 46 <script type="text/javascript"> 47 48 var oId = document.getElementById('number'); 49 oId.onblur = function(){ 50 var xhr = new XMLHttpRequest(); 51 xhr.open('get','checkId?id='+oId.value,true); 52 xhr.send(); 53 xhr.onreadystatechange = function() { 54 if ( xhr.status == 200 ) { 55 var res = xhr.responseText 56 if(res === 'error'){ 57 alert("该账户已经存在"); 58 } else if(res === 'empty'){ 59 alert("账户不能为空"); 60 } 61 } 62 } 63 } 64 65 66 /* $('input[name="id"]').blur(function(){ 67 $.ajax({ 68 type:'post', 69 url:'checkId', 70 data:{'id':$('input[name="id"]').val()} 71 success:function(res){ 72 if(res === 'error'){ 73 alert("该账户已经存在"); 74 } else if(res === 'empty'){ 75 alert("账户不能为空"); 76 } 77 } 78 }); 79 }) */ 80 </script> 81 </html>
1 package servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.annotation.WebServlet; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 import com.mysql.jdbc.StringUtils; 12 13 import bean.Student; 14 import dao.StudentDao; 15 16 @WebServlet("/checkId") 17 public class CheckIdServlet extends HttpServlet { 18 private StudentDao dao; 19 @Override 20 public void init() throws ServletException { 21 dao = new StudentDao(); 22 super.init(); 23 } 24 25 @Override 26 protected void service(HttpServletRequest req, HttpServletResponse resp) 27 throws ServletException, IOException { 28 if(StringUtils.isNullOrEmpty(req.getParameter("id"))) { 29 resp.getWriter().write("empty"); 30 }else { 31 long id = Long.valueOf(req.getParameter("id")); 32 33 Student student = dao.getStudentById(id); 34 System.out.println(student); 35 if(student != null) { 36 resp.getWriter().write("error"); 37 }else { 38 resp.getWriter().write("ok"); 39 } 40 } 41 42 } 43 44 }
package dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import bean.Grade; import bean.Student; public class StudentDao { private static final String username = "root"; private static final String password = "123456"; private static final String url = "jdbc:mysql://localhost:3306/kaoshi?useUnicode=true&characterEncoding=utf-8"; public Connection connect() { Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { con = DriverManager.getConnection(url, username, password); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return con; } public void disConnect(Connection con, Statement st, ResultSet rs) { if(con != null) { try { con.close(); } catch (Exception e) { e.printStackTrace(); } } if(st != null) { try { st.close(); } catch (Exception e) { e.printStackTrace(); } } if(rs != null) { try { rs.close(); } catch (Exception e) { e.printStackTrace(); } } } public int insertStudent(Student student) { Connection con = null; PreparedStatement pstm = null; try { con = this.connect(); String sql = "insert into student(id, name, pwd, sex, specialty, imgurl) values(?, ?, ?, ?, ?, ?)"; pstm = con.prepareStatement(sql); pstm.setLong(1, student.getId()); pstm.setString(2, student.getName()); pstm.setString(3, student.getPwd()); pstm.setString(4, student.getSex()); pstm.setString(5, student.getSpecialty()); pstm.setString(6, student.getImgurl()); int i = pstm.executeUpdate(); return i; } catch (Exception e) { this.disConnect(con, pstm, null); e.printStackTrace(); } return 0; } public Student getStudentById(long id) { Connection con = null; PreparedStatement pstm = null; ResultSet rs = null; try { con = this.connect(); String sql = "select * from student where id=?"; pstm = con.prepareStatement(sql); pstm.setLong(1, id); rs = pstm.executeQuery(); Student student = null; while(rs.next()) { student = new Student(rs.getLong(1), rs.getString(2), rs.getString(3), rs.getString(4),rs.getString(5), rs.getString(6)); } return student; } catch (Exception e) { this.disConnect(con, pstm, rs); e.printStackTrace(); } return null; } public List<Grade> getGradeById(long id){ Connection con = null; PreparedStatement pstm = null; ResultSet rs = null; List<Grade> list = new ArrayList<>(); try { con = this.connect(); String sql = "select * from grade where id=?"; pstm = con.prepareStatement(sql); pstm.setLong(1, id); rs = pstm.executeQuery(); while(rs.next()) { Grade grade = new Grade(rs.getString(1), rs.getString(2), rs.getString(3),rs.getLong(4)); list.add(grade); } return list; } catch (Exception e) { this.disConnect(con, pstm, rs); e.printStackTrace(); } return null; } }