com.bean包:
package com.bean; public class uBean{ private String zhanghao; private String password; private String sex; private String name; private String id; private String postbox; private String xueyuan; private String xi; private String class_; private String time; private String area; private String beizhu; public uBean() {} public uBean(String zhanghao, String password, String sex, String name, String id, String postbox, String xueyuan, String xi, String class_, String time, String area, String beizhu) { super(); this.zhanghao = zhanghao; this.password = password; this.sex = sex; this.name = name; this.id = id; this.postbox = postbox; this.xueyuan = xueyuan; this.xi = xi; this.class_ = class_; this.time = time; this.area = area; this.beizhu = beizhu; } public String getZhanghao() { return zhanghao; } public void setZhanghao(String zhanghao) { this.zhanghao = zhanghao; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPostbox() { return postbox; } public void setPostbox(String postbox) { this.postbox = postbox; } public String getXueyuan() { return xueyuan; } public void setXueyuan(String xueyuan) { this.xueyuan = xueyuan; } public String getXi() { return xi; } public void setXi(String xi) { this.xi = xi; } public String getClass_() { return class_; } public void setClass_(String class_) { this.class_ = class_; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String getArea() { return area; } public void setArea(String area) { this.area = area; } public String getBeizhu() { return beizhu; } public void setBeizhu(String beizhu) { this.beizhu = beizhu; } }
com.dao包:
package com.dao; import java.sql.Connection; import java.sql.Statement; import com.bean.uBean; import com.db.DB; public class Dao { public boolean add(uBean bean) { String tablename = "hhjing"; DB db=new DB(); Connection con = db.getCon(); try { String sql="insert into "+tablename+"(zhanghao,password,sex,name,id,postbox,xueyuan,xi,class_,time,area,beizhu) values ('"+bean.getZhanghao()+"','"+bean.getPassword()+"','"+bean.getSex()+"','"+bean.getName()+"','"+bean.getId()+"','"+bean.getPostbox()+"','"+bean.getXueyuan()+"','"+bean.getXi()+"','"+bean.getClass_()+"','"+bean.getTime()+"','"+bean.getArea()+"','"+bean.getBeizhu()+"')"; Statement stm = con.createStatement(); System.out.println(sql); stm.execute(sql); db.close(stm, con); System.out.println("add success"); }catch(Exception e) { e.printStackTrace(); System.out.println("add false"); return false; } System.out.println("add true"); return true; } }
com.db包:
package com.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.sun.corba.se.impl.ior.GenericTaggedComponent; public class DB { private static String mysqlname = "hhjing"; private static Connection con; private static Statement sta; private static ResultSet re; private static String coursename = "com.mysql.jdbc.Driver"; private static String url = "jdbc:mysql://127.0.0.1:3306/"+mysqlname+"?useSSL=false&characterEncoding=utf8"; //建立連接 public static Connection getCon() { try { Class.forName(coursename); System.out.println("驅動加載成功"); }catch(ClassNotFoundException e) { e.printStackTrace(); } try { con = DriverManager.getConnection(url,"root","hhj20000604@"); System.out.println("數據庫連接成功"); }catch(Exception e){ e.printStackTrace(); con = null; } return con; } public static void close(Statement sta,Connection connection) { if(sta!=null) { try { sta.close(); }catch(SQLException e) { e.printStackTrace(); } } if(connection!=null) { try { connection.close(); }catch(SQLException e) { e.printStackTrace(); } } } //關閉 public static void close(ResultSet re,Statement sta,Connection connection) { if(re!=null) { try { re.close(); }catch(SQLException e) { e.printStackTrace(); } } if(sta!=null) { try { sta.close(); }catch(SQLException e) { e.printStackTrace(); } } if(connection!=null) { try { connection.close(); }catch(SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) { getCon(); } }
com.servlet包:
package com.servlet; import java.io.IOException; import java.io.PrintWriter; 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 javax.swing.JOptionPane; import com.bean.uBean; import com.dao.Dao; /** * Servlet implementation class Servlet */ @WebServlet("/Servlet") public class Servlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Servlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //response.getWriter().append("Served at: ").append(request.getContextPath()); request.setCharacterEncoding("utf-8"); response.setContentType("textml;charset=utf-8"); uBean bean =new uBean(request.getParameter("zhanghao"),request.getParameter("password"),request.getParameter("sex"),request.getParameter("name"),request.getParameter("id"),request.getParameter("postbox"),request.getParameter("xueyuan"),request.getParameter("xi"),request.getParameter("class_"),request.getParameter("time"),request.getParameter("area"),request.getParameter("beizhu")); Dao dao = new Dao(); dao.add(bean); // JOptionPane.showMessageDialog(null, "注冊成功"); // //用於跳出框架跳轉頁面 // response.sendRedirect("index.jsp"); PrintWriter out = response.getWriter(); //index.jsp改成需要跳轉的界面,alert里寫提示框的內容 out.print("<script language='javascript'>alert('register success');window.location.href='index.jsp';</script>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <div style="width:100%;text-align:center"> <form id="form" action="Servlet" method="post" onsubmit="return checkAll()"> <% //form用於提交,table用於布局,tr每行,td每列,使用時table > tr > td ,若報錯Invalid location of tag,就是嵌套順序不對%> <table> <tr> <td>登錄賬號:</td> <td><input id="zhanghao" type=text" name="zhanghao" onblur="checkZhanghao()" /></td> <td><span style="font-size:13px" id="zhanghaospan"></span></td> <tr> <td>登錄密碼:</td> <td><input id="password" type="password" name="password" onblur="checkPassword()" /></td> <td><span style="font-size:13px" id="passwordspan"></span></td> </tr> <tr> <td>性別:</td> <td> 男:<input type="radio" value="boy" name="sex"/> 女:<input type="radio" value="girl" name="sex"/> </td> </tr> <tr> <td>姓名:</td> <td><input type="text" value=" " name="name"/></td> </tr> <tr> <td>學號:</td> <td><input id="id" type=text" name="id" onblur="checkId()" /></td> <td><span style="font-size:13px" id="idspan"></span></td> </tr> <tr> <td>電子郵箱:</td> <td><input id="postbox" type="text" name="postbox" onblur="checkPostbox()" placeholder="郵箱"/></td> <td><span style="font-size:13px" id="postboxspan"></span></td> </tr> <tr> <td>所在學院:</td> <td><input id="xueyuan" type=text" name="xueyuan" onblur="checkXueyuan()" /></td> <td><span style="font-size:13px" id="xueyuanspan"></span></td> </tr> <tr> <td>所在系:</td> <td><input id="xi" type=text" name="xi" onblur="checkXi()" /></td> <td><span style="font-size:13px" id="xispan"></span></td> </tr> <tr> <td>所在班級:</td> <td><input id="class_" type=text" name="class_" onblur="checkClass_()" /></td> <td><span style="font-size:13px" id="class_span"></span></td> </tr> <tr> <td>入學年份(界):</td> <td> <select name="time"> <option selected= "selected">1998</option> <option>1997</option> <option>1996</option> </select> </td> </tr> <tr> <td>生源地:</td> <td><input id="area" type="text" name="area" onblur="checkArea()" /></td> <td><span style="font-size:13px" id="areaspan"></span></td> </tr> <tr> <td>備注:</td> <td><input id="beizhu" type="text" name="beizhu" onblur="checkBeizhu()" /></td> <td><span style="font-size:13px" id="beizhuspan"></span></td> </tr> <tr> <td><input type="submit" value="注冊"/></td> <td><input type="button" name="" value="重置" onclick="formReset()" /></td> </tr> </table> </form> </div> <script type="text/javascript"> //重置按鈕處添加onclick調用formReset %> function formReset() { document.getElementById("form").reset(); } function checkZhanghao() { var zhanghao = document.getElementById("zhanghao").value; var spanNode = document.getElementById("zhanghaospan"); //編寫郵箱的正則 var reg = /^[0-9a-zA-Z]{6}/; if(reg.test(zhanghao)){ //符合規則 spanNode.innerHTML = "".fontcolor("green"); return true; }else{ //不符合規則 spanNode.innerHTML = "登錄賬號格式不正確,請重新填寫!".fontcolor("red"); return false; } } //郵箱輸入框處添加onblur在鼠標焦距移出時調用checkPostbox %> function checkPostbox() { var postbox = document.getElementById("postbox").value; var spanNode = document.getElementById("postboxspan"); //編寫郵箱的正則 var reg = /^[a-z0-9]\w+@[a-z0-9]+(\.[a-z]{2,3}){1,2}$/i; if(reg.test(postbox)){ //符合規則 spanNode.innerHTML = "".fontcolor("green"); return true; }else{ //不符合規則 spanNode.innerHTML = "郵箱格式不正確,請重新填寫!".fontcolor("red"); return false; } } function checkPassword() { var password = document.getElementById("password").value; var spanNode = document.getElementById("passwordspan"); //編寫密碼的正則 var reg =/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}$/; if(reg.test(password)){ //符合規則 spanNode.innerHTML = "".fontcolor("green"); return true; }else{ //不符合規則 spanNode.innerHTML = "密碼格式不正確,請重新填寫!".fontcolor("red"); return false; } } function checkId() { var id = document.getElementById("id").value; var spanNode = document.getElementById("idspan"); //學號的正確形式 // var reg = /^[0-9a-zA-Z]{6}/; if((id<"20180000")|| (id>"20189999")) { spanNode.innerHTML = "學號格式不正確,請重新填寫!".fontcolor("red"); return false; } else{ //不符合規則 spanNode.innerHTML = "".fontcolor("green"); return true; } } function checkAll(){ var postbox = checkPostbox(); var id=checkId(); var zhanghao=checkZhanghao(); var password=checkPassword(); if(postbox&&id&&password&&zhanghao){ return true; }else{ return false; } } </script> </body> </html>
代碼測試截圖:
輸入數據庫截圖: