<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>学生信息添加</title> <script type="text/javascript"> function check() { //弹出错误信息 var username = document.getElementById("usernameid"); var a = /^[a-zA-Z0-9_]{1,}$/; var b=/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/; if(username.value=='') { alert('账号不能为空'); username.focus(); return false; } if(username.value.length<6) { alert('账号不能小于6位数'); usename.focus(); return false; } if (!username.value.match(a)) { alert('用户名只能由字母数字下划线组成'); username.focus(); return false; } var password=document.getElementById("passwordid"); if(password.value.length<8) { alert('密码不能少于8位'); password.focus(); return false; } if(!password.value.match(a)) { alert('密码只能由字母数字组成'); usename.focus(); return false; } var xuehao= document.getElementById("id"); if(xuehao.value.length!=8) { alert('学号必须为8位'); xuehao.focus(); return false; } var email=document.getElementById("emailid"); if(!email.value.match(b)){ alert('邮件格式错误'); email.focus(); return false; } } </script> </head> <body> <form action="addservlet" method="post" οnsubmit="return check()"> <table align="center"> <tr> <td>用户名:</td> <td><input type="text" name="username" id="usernameid" maxlength=12 ><br></td> </tr> <tr> <td>密 码:</td> <td><input type=password name="password" id= "passwordid" ><br></td> </tr> <tr> <td>性别:</td> <td> <select name="sex"> <option value="男" size="18">男</option> <option value="女" size="18">女</option> </select></td> </tr> <tr> <td>姓名:</td> <td><input type="text" name="name" id= "nameid" value=""><br></td> </tr> <tr> <td>学号:</td> <td><input type="text" name="id" id="id" maxlength=8 value="" ><br></td> </tr> <tr> <td>邮箱:</td> <td> <input type="text" name="email" id="emailid" value="" ><br></td> </tr> <tr> <td>所在学院:</td> <td><input type="text" name="yuan" size="18" value=""><br></td> </tr> <tr> <td>所在系:</td> <td><input type="text" name="xi" size="18" value=""><br></td> </tr> <tr> <td>所在班级:</td> <td><input type="text" name="classes" size="18" value=""><br></td> </tr> <tr> <td>入学年份(届):</td> <td> <select name="year"> <option value="2015" size="18">2015</option> <option value="2016" size="18">2016</option> <option value="2017" size="18">2017</option> <option value="2018" size="18">2018</option> <option value="2019" size="18">2019</option> </select></td> </tr> <tr> <td>出生地:</td> <td><input type="text" name="bornplace" size="18" value=""><br></td> </tr> <tr> <td>备注:</td> <td><input type="text" name="pss" size="18" value="无"><br></td> </tr> <tr> <td><input type="submit" name="submit" value="提交" onclick="return check()"></td> </tr> </table> </form> </body> </html>
package com.demo.servlet; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class addservlet */ @WebServlet("/addservlet") public class addservlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public addservlet() { 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 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String username=request.getParameter("username"); String psword=request.getParameter("password"); String sex=request.getParameter("sex"); String name=request.getParameter("name"); String id=request.getParameter("id"); String email=request.getParameter("email"); String yuan=request.getParameter("yuan"); String xi=request.getParameter("xi"); String classes=request.getParameter("classes"); String year=request.getParameter("year"); String bornplace=request.getParameter("bornplace"); String pss=request.getParameter("pss"); /*int a=0; int ps=psword.length(); int num=username.length(); Pattern pa = Pattern.compile("[a-zA-Z].*"); Matcher isNum = pa.matcher(username.charAt(0)+""); String reg = "\w+@(\w+\.){1,3}\w+"; Pattern pattern = Pattern.compile(reg); if(username.equals("")) { request.setAttribute("message", "账号不能为空!"); request.getRequestDispatcher("add.jsp").forward(request,response); } if(!id.equals("")) { a=id.length(); String ye=id.substring(0, 3); if(a<8) {request.setAttribute("message", "学号为8位数"); request.getRequestDispatcher("add.jsp").forward(request,response); if(!ye.equals("2018")) {request.setAttribute("message", "学号前四位必须是2018"); request.getRequestDispatcher("add.jsp").forward(request,response); } } } if(ps<8) {request.setAttribute("message", "密码要多于8位"); request.getRequestDispatcher("add.jsp").forward(request,response); } if(num<6) {request.setAttribute("message", "账号要在6-12位"); request.getRequestDispatcher("add.jsp").forward(request,response); } if (!isNum.matches()) { request.setAttribute("message", "账号要以字母为开头"); request.getRequestDispatcher("add.jsp").forward(request,response); } if (email != null) { Matcher matcher = pattern.matcher(email); if(!matcher.matches()) {request.setAttribute("message", "邮箱格式不对"); request.getRequestDispatcher("add.jsp").forward(request,response);} } */ String url = "jdbc:mysql://localhost:3306/demodb?&useSSL=false&serverTimezone=UTC"; String user = "root"; String password = "root"; Connection conn = null; PreparedStatement ps1 = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); conn = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException e) { response.getWriter().print("加载驱动失败"); } catch (SQLException e) { response.getWriter().print("连接数据库失败"); } try { String sql = "INSERT INTO student(username,password,sex,name,id,email,yuan,xi,classes,year,bornplace,pss) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)"; ps1 = conn.prepareStatement(sql); ps1.setString(1, username); ps1.setString(2, psword); ps1.setString(3, sex); ps1.setString(4, name); ps1.setString(5, id); ps1.setString(6, email); ps1.setString(7, yuan); ps1.setString(8, xi); ps1.setString(9, classes); ps1.setString(10, year); ps1.setString(11, bornplace); ps1.setString(12,pss); int row = ps1.executeUpdate(); // if (row > 0) // response.getWriter().print("添加" + row + "数据"); } catch (SQLException e) { response.getWriter().print("添加失败"); } try { if (ps1 != null) { ps1.close(); ps1 = null; } if (conn != null) { conn.close(); conn = null; } } catch (Exception e) { response.getWriter().print("关闭失败"); } response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @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); } }