zoukankan      html  css  js  c++  java
  • 注册界面

    题目要求:

    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>

    测试:

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

     之后显示“添加成功!”

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

     若是输入格式不正确

     则会有提示

  • 相关阅读:
    ZROI 19.08.04模拟赛
    具体数学 第一章 递归问题
    ZROI 19.08.02 杂题选讲
    win下在虚拟机安装CentOS 7 Linux系统
    ICP算法(迭代最近点)
    Python学习笔记(一)
    堆和堆排序
    笔试面试题记录-
    笔试面试记录-字符串转换成整型数等(aatoi,itoa)
    支持向量机原理(一) 线性支持向量机
  • 原文地址:https://www.cnblogs.com/tianwenjing123-456/p/11715667.html
Copyright © 2011-2022 走看看