注册页面链接数据库我用了五个板块来剪成的:
user.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 background="C:\Users\lenovo\Desktop\ertong.jpg"> <% Object message = request.getAttribute("message"); if (message != null && !"".equals(message)) { %> <script type="text/javascript"> alert("<%=request.getAttribute("message")%>"); </script> <% } %> <table border="1px" cellpadding="30px" cellspacing="0px" style="width: 30%;margin:auto;background:rgb(200,195,195)" bordercolor="red" > <form action="Servlet?method=add" method="post" > <caption>注册用户</caption> <tr> <th>登录账号:</th> <td><input type="text" name="username" id="user"></th> </tr> <tr> <th>登录密码:</th> <td><input type="password" name="password" id="password"></td> </tr> <tr> <th>性别:</th> <td> <select name="sex" id="sex"> <option value="男">男</option> <option value="女">女</option> </select> </td> </tr> <tr> <th>姓名:</th> <td><input type="text" name="name" id="name"></td> </tr> <tr> <th>学号:</th> <td><input type="text" name="idname" id="xuehao"></th> </tr> <tr> <th>电子邮件:</th> <td><input type="text" name="email" id="mail"></th> </tr> <tr> <th>所在学校:</th> <td><input type="text" name="schoolname" id="school"></th> </tr> <tr> <th>所在系:</th> <td><input type="text" name="studyname" id="xi"></th> </tr> <tr> <th>所在班级:</th> <td><input type="text" name="classname" id="banji"></th> </tr> <tr> <th>入学年份(届):</th> <td> <select name="time" id="nianfen"> <option value="2019">2019</option> <option value="2018">2018</option> <option value="2017">2017</option> <option value="2016">2016</option> </select>届 </td> </tr> <tr> <th>生源地:</th> <td><input type="text" name="address" id="place"></td> </tr> <tr> <th>备注:</th> <td><textarea cols="10" rows="4" name="beizhu" id="beizhu"></textarea></td> </tr> <tr> <th colspan="2"> <input type="submit" value="提交" name="botton" onclick="return check()" > </th> </tr> </form> </table> <script type="text/javascript"> function check() { var user = document.getElementById("user").value; var password = document.getElementById("password").value; var name = document.getElementById("name").value; var xuehao = document.getElementById("xuehao").value; var mail = document.getElementById("mail").value; var school = document.getElementById("school").value; var xi = document.getElementById("xi").value; var banji = document.getElementById("banji").value; var nianfen = document.getElementById("nianfen").value; var place = document.getElementById("place").value; var beizhu = document.getElementById("beizhu").value; var res=/^[0-9a-zA-Z]*$/; //必须是数字和英文组合 var myPattern = new RegExp("^[a-zA-Z]");//以英文字母开头 var userlength=document.getElementById("user").value.length; if(!((res.test(user))&&(myPattern.test(user))&&userlength>5&&userlength<=12)) { alert('用户名必须为字母数字组成且必须为6为组成首字母大写'); return false; } if((res.test(password)&&password.length<8)) { alert('由八位英文和数字组成'); return false; } if((xuehao[0]!=2||xuehao[1]!=0||xuehao[2]!=1||xuehao[3]!=8)||xuehao.length!=8){ alert("学号格式不正确"); return false; } var kao=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; if(!(kao.test(mail))) {alert("邮箱格式不正确"); return false; } } </script> </body> </html>
Dao层:
package Dao; import java.sql.Connection; import java.sql.Statement; import DBUtil.DBUtil; import Entity.User; public class Dao { public boolean add(User user) { // TODO Auto-generated method stub String sql = "insert into uses(username,password,sex,name,idname,email,schoolname,studyname,classname,time,address,beizhu) values('"+ user.getUsername() + "','"+ user.getPassword() +"','"+ user.getSex() +"','" + user.getName() +"','"+ user.getIdname() +"','"+ user.getEmail() +"','"+user.getSchoolname()+"','"+user.getStudyname()+"','"+user.getClassname()+"','"+user.getTime()+"','"+user.getAddress()+"','"+user.getBeizhu()+"')"; Connection conn = DBUtil.getConn(); Statement state = null; boolean f = false; int a = 0; try { state = conn.createStatement(); a=state.executeUpdate(sql); } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } }
Servlet层:
package Servlet; import java.io.IOException; 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 Dao.Dao; import Entity.User; @WebServlet("/Servlet") public class Servlet extends HttpServlet { private static final long serialVersionUID = 1L; public Servlet() { super(); } protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8");//璁剧疆璇锋眰鐨勫瓧绗︾紪鐮佹牸寮� String method = req.getParameter("method");//鑾峰緱璇锋眰琛ㄥ崟涓殑淇℃伅 if ("add".equals(method)) { add(req, resp); } } private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); String username = req.getParameter("username"); String password = req.getParameter("password"); String sex = req.getParameter("sex"); String name = req.getParameter("name"); String idname = req.getParameter("idname"); String email = req.getParameter("email"); String schoolname = req.getParameter("schoolname"); String studyname = req.getParameter("studyname"); String classname = req.getParameter("classname"); String time = req.getParameter("time"); String address = req.getParameter("address"); String beizhu = req.getParameter("beizhu"); User user = new User(username,password,sex,name,idname,email,schoolname,studyname,classname,time,address,beizhu); Dao dao =new Dao(); boolean f=dao.add(user); if(f) { req.setAttribute("message", "注册成功!"); req.getRequestDispatcher("user.jsp").forward(req,resp); } else { req.setAttribute("message", "注册失败!"); req.getRequestDispatcher("user.jsp").forward(req,resp); } } }
DButil层:
package DBUtil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBUtil { public static String db_url = "jdbc:mysql://localhost:3306/user"; public static String db_user = "root"; public static String db_pass = "123"; public static Connection getConn () { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(db_url, db_user, db_pass); } catch (Exception e) { e.printStackTrace(); } return conn; } public static void close (Statement state, Connection conn) { if (state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void close (ResultSet rs, Statement state, Connection conn) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) throws SQLException { Connection conn = getConn(); PreparedStatement pstmt = null; ResultSet rs = null; String sql ="select * from users"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); if(rs.next()){ System.out.println("空"); }else{ System.out.println("不空"); } } }
User类:
package Entity; public class User { private String username; private String password; private String sex; private String name; private String idname; private String email; private String schoolname; private String studyname; private String classname; private String time; private String address; private String beizhu; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } 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 getIdname() { return idname; } public void setIdname(String idname) { this.idname = idname; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getSchoolname() { return schoolname; } public void setSchoolname(String schoolname) { this.schoolname = schoolname; } public String getStudyname() { return studyname; } public void setStudyname(String studyname) { this.studyname = studyname; } public String getClassname() { return classname; } public void setClassname(String classname) { this.classname = classname; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getBeizhu() { return beizhu; } public void setBeizhu(String beizhu) { this.beizhu = beizhu; } public User(String username, String password, String sex, String name, String idname, String email, String schoolname, String studyname, String classname, String time, String address, String beizhu) { super(); this.username = username; this.password = password; this.sex = sex; this.name = name; this.idname = idname; this.email = email; this.schoolname = schoolname; this.studyname = studyname; this.classname = classname; this.time = time; this.address = address; this.beizhu = beizhu; } }
测试截图:
界面:
运行错误提醒截图:
密码:
学号提示:
邮箱截图:
数据库连接成功截图: