注册界面

题目要求:

1、登录账号:要求由6到12位字母、数字、下划线组成,只有字母可以开头;

2、登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母、数字组成。

3、性别:要求用单选框或下拉框实现,选项只有“男”或“女”;

4、学号:要求八位数字组成,前四位为“2018”开头,输入自己学号;

5、姓名:输入自己的姓名;

5、电子邮箱:要求判断正确格式xxxx@xxxx.xxxx

6、点击“添加”按钮,将学生个人信息存储到数据库中。

7、可以演示连接上数据库。

目录:

package service;

public class User {
private String username;
private String password;
private String sex;
private String name;
private String number;
private String email;
private String school;
private String xi;
private String ban;
private String year;
private String place;
private String bei;
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 getNumber() {
    return number;
}
public void setNumber(String number) {
    this.number = number;
}
public String getEmail() {
    return email;
}
public void setEmail(String email) {
    this.email = email;
}
public String getSchool() {
    return school;
}
public void setSchool(String school) {
    this.school = school;
}
public String getXi() {
    return xi;
}
public void setXi(String xi) {
    this.xi = xi;
}
public String getBan() {
    return ban;
}
public void setBan(String ban) {
    this.ban = ban;
}
public String getYear() {
    return year;
}
public void setYear(String year) {
    this.year = year;
}
public String getPlace() {
    return place;
}
public void setPlace(String place) {
    this.place = place;
}
public String getBei() {
    return bei;
}
public void setBei(String bei) {
    this.bei = bei;
}

}
package dao;

import java.sql.Connection;
import java.sql.Statement;

import service.User;
import util.DBUtil;

public class UserDao {
    public boolean addu(User user) {
    
        String sql = "insert into user(username, password,sex,name,number,email,school,xi,ban,year,place,bei) values('" + user.getUsername() + "','" + user.getPassword() +"','" + user.getSex() +"','"+user.getName() +"','" + user.getNumber()+"','" + user.getEmail() +"','" + user.getSchool() +"','" + user.getXi() +"','"+user.getBan()+"','"+user.getYear()+"','"+user.getPlace()+"','"+user.getBei()+ "')";
        Connection conn = DBUtil.getConnection();
        Statement state = null;        
        try {
            state = conn.createStatement();
            int a= state.executeUpdate(sql);
            state.close();
            return a>0?true:false;
        } catch (Exception e) {
            e.printStackTrace();
        } 
        return false;
    }
}

判断

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
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;
//import javax.servlet.http.HttpSession;

import dao.UserDao;
import service.User;
import util.DBUtil;

/**
 * Servlet implementation class Rservlet
 */
@WebServlet("/Rservlet")
public class Rservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Rservlet() {
        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());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(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 password = request.getParameter("password");
        String sex = request.getParameter("sex");
        String name = request.getParameter("name");
        String number=request.getParameter("number");
        String email = request.getParameter("email");
        String school = request.getParameter("school");
        String xi = request.getParameter("xi");
        String ban = request.getParameter("ban");
        String year = request.getParameter("year");
        String place = request.getParameter("place");
        String bei = request.getParameter("bei");
        System.out.println(username);
        System.out.println(password);  
        Pattern p = null;
        Pattern s = null;
        Pattern t = null;
        Pattern q = null;
        Matcher m = null;
        Matcher n = null;
        Matcher y = null;
        Matcher w = null;
        boolean b = false;
        boolean c = false;
        boolean u = false;
        boolean e = false;
        p = Pattern.compile("^[2][0][1][8][\d]{4}$"); // 判断学号
        m = p.matcher(number);
        b = m.matches();
        s= Pattern.compile("^[A-Za-z][A-Za-z0-9_]{5,11}$") ;
        n = s.matcher(username);
        c =n.matches();
        t= Pattern.compile("^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$") ;
        y = t.matcher(email);
        u =y.matches();
        q= Pattern.compile("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8}$") ;
        w = q.matcher(password);
        e =w.matches();
        if(!c){
            PrintWriter out = response.getWriter();
            out.print("<script>alert('用户名格式不正确!');window.history.go(-1)</script>");
        }else if(!e){
            PrintWriter out = response.getWriter();
            out.print("<script>alert('密码格式不正确!');window.history.go(-1)</script>");
        }else if(!b) {
            PrintWriter out = response.getWriter();
            out.print("<script>alert('学号格式错误!');window.history.go(-1)</script>");
    }else  if(!u){
        PrintWriter out = response.getWriter();
        out.print("<script>alert('邮箱格式不正确!');window.history.go(-1)</script>");
    }else
    {
        Connection conn = DBUtil.getConnection();
        Statement state = null;        
        String sql="select username from user where username='"+username+"'";
        try {
            state = conn.createStatement();
            ResultSet a= state.executeQuery(sql);
            if(a.next()) 
            {
                PrintWriter out = response.getWriter();
                out.println("<script>alert('用户名已存在!');</script>");
                out.println("<script>window.history.go(-1)</script>");    
            }else
            {
                User us=new User();
                us.setPassword(password);
                us.setUsername(username);
                us.setSex(sex);
                us.setName(name);
                us.setNumber(number);
                us.setEmail(email);
                us.setSchool(school);
                us.setXi(xi);
                us.setBan(ban);
                us.setYear(year);
                us.setPlace(place);
                us.setBei(bei);
                UserDao user = new UserDao();
                user.addu(us);
                PrintWriter out = response.getWriter();
                out.println("<script>alert('添加成功!');</script>");
                //out.println("<script>window.history.go(-1)</script>");
                request.getRequestDispatcher("login3.jsp").forward(request, response);
            }
        }catch(Exception e1) {
            e1.printStackTrace();
        } 
   }
    }
    }
    
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {    
    private static String URL = "jdbc:mysql://localhost:3306/test3?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";
    private static String UserName = "root";
    private static String Password ="123";
    public static Connection getConnection() {
        Connection Conn=null;

        try {

            Class.forName("com.mysql.jdbc.Driver");

            System.out.println("加载驱动成功!!!");
        } catch (ClassNotFoundException e) {
            // TODO: handle exception
            e.printStackTrace();
        }

        try {
            Conn = DriverManager.getConnection(URL,UserName,Password);
            System.out.println("!!!!!!!");
        } catch (SQLException e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        return Conn;
    }
    public static void main(String[] args)throws SQLException { 
        Connection conn = getConnection();
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        String sql ="select * from user";
        pstmt = conn.prepareStatement(sql);
        rs = pstmt.executeQuery();
        System.out.println(getConnection());
        while(rs.next()){
            System.out.println("空");
        }

        }

}

注册界面:

  1 <%@ page language="java" contentType="text/html; charset=utf-8"
  2     pageEncoding="utf-8"%>
  3 <!DOCTYPE html >
  4 <html>
  5 <head>
  6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  7 <title>注册页面</title>
  8 <script type="text/javascript">
  9     function check(form) {
 10         with (form) {
 11             if (username.value == "") {
 12                 alert("用户名不能为空");
 13                 return false;
 14             } else if (passwordword.value == "" || passwordword1.value == "") {
 15                 alert("密码不能为空");
 16                 return false;
 17             } else
 18                 return true;
 19         }
 20     }
 21 </script>
 22 <style>
 23 .a {
 24     border: 2px solid #a1a1a1;
 25     padding: 10px 40px;
 26     /*     background:#dddddd; */
 27      2px;
 28     border-radius: 25px;
 29 }
 30 #bk {
 31     border: 3px solid #a1a1a1;
 32     padding: 5px 60px;
 33     /*     background:#dddddd; */
 34      px;
 35     border-radius: 25px;
 36 }
 37  .button {
 38     background-color:  #ff8433;
 39     border: none;
 40     color: white;
 41     padding: 5px 10px;
 42     text-decoration: none;
 43     display: inline-block;
 44     font-size: 16px;
 45     margin: 2px 2px;
 46     cursor: pointer;
 47 }
 48 table{
 49 margin: auto;
 50 }
 51     *{margin:auto;padding:0}  
 52     #password{position:absolute;top:155px;opacity:0;filter:alpha(opacity=0);z-index:2;border: 3px solid #a1a1a1;
 53     padding: 5px 60px;
 54     /*     background:#dddddd; */
 55      px;
 56     border-radius: 25px;}  
 57     #hint_password{position:absolute;top:155px;border: 3px solid #a1a1a1;
 58     padding: 5px 60px;
 59     /*     background:#dddddd; */
 60      px;
 61     border-radius: 25px;}
 62 </style>
 63   
 64 </head>
 65 <body>
 66     <br>
 67     <br>
 68     <br>
 69     <h3 align="center">注册页面</h3>
 70     <hr>
 71     <form  action="Rservlet" method="post"
 72         onsubmit="return check(this);">
 73 
 74         <table style="border-collapse:separate; border-spacing:0px 20px;">
 75             <tr>
 76                 <td>用户名</td>
 77                 <td><input id="bk" type="text" name="username" placeholder="6-12字母数字下划线|字母开头" ></td>
 78             </tr>
 79             
 80             <tr>
 81                 <td>密码</td>
 82                  <td>
 83                   <input type="text" id="hint_password" placeholder="由8位英文和数字组成"  /><input type="text" id="password" name="password" placeholder="由6位英文和数字组成"  />  </td>
 84                 <!-- <input type="text" id="hint_password" placeholder="由6位英文和数字组成" />  
 85                 <input type="text" id="passwordword" name="passwordword" /> -->
 86                 
 87             </tr>
 88             <tr>
 89                 <td>性别</td>
 90                 <td><select  style="200px;hight:20px;" name="sex">
 91                 <option value=null></option>
 92                 <option value="男">男</option>
 93                 <option value="女">女</option>
 94             </select></td>
 95                 </tr>
 96                 <tr>
 97                 <td>姓名</td>
 98                 <td><input id="bk" type="text" name="name"></td>
 99             </tr>
100             
101             <tr>
102                 <td>学号</td>
103                 <td><input id="bk" type="text" name="number"></td>
104             </tr>
105             <tr>
106                 <td>电子邮箱</td>
107                 <td><input id="bk" type="text" name="email"></td>
108             </tr>
109             <tr>
110                 <td>所在学院</td>
111                 <td><input id="bk" type="text" name="school"></td>
112             </tr>
113             <tr>
114                 <td>所在系</td>
115                 <td><input id="bk" type="text" name="xi"></td>
116             </tr>
117             <tr>
118                 <td>所在班级</td>
119                 <td><input id="bk" type="text" name="ban"></td>
120             </tr>
121             <tr>
122                 <td>入学年份(届)</td>
123                 <td><select  style="200px;hight:20px;" name="year">
124                 <option value="2019">2019</option>
125                 <option value="2018">2018</option>
126                 <option value="2017">2017</option>
127                 <option value="2016">2016</option>
128                 </select></td>
129             </tr>
130             <tr>
131                 <td>生源地</td>
132                 <td><input id="bk" type="text" name="place"></td>
133             </tr>
134             <tr>
135                 <td>备注</td>
136                 <td><input id="bk" type="text" name="bei"></td>
137             </tr>
138             <tr>
139             <td></td>
140                 <td><input      class ="button" type="submit" value="注册"></td>
141             </tr>            
142         </table>
143     </form>
144 <script>  
145     var password=document.getElementById('password');  
146     var hint_password=document.getElementById('hint_password');  
147     password.onkeyup=password.onchange=function(){hint_password.value=password.value.replace(/./g,'*');};  
148 </script>   
149 </body>
150 </html>

注册完界面

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>注册页面</title>
</head>
<body>
添加成功!
</body>
</html>

测试:

 在浏览器中打开并输入符合要求的数据:

 之后显示“添加成功!”

 就可以在数据库建的表里看到刚存入的数据

 若是输入格式不正确

 则会有提示

原文地址:https://www.cnblogs.com/tianwenjing123-456/p/11715667.html