zoukankan      html  css  js  c++  java
  • 课堂测试

    考试要求:

    1登录账号:要求由612位字母、数字、下划线组成,只有字母可以开头;(1分)

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

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

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

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

    5电子邮箱:要求判断正确格式xxxx@xxxx.xxxx;(1分)

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

    7可以演示连接上数据库。(2分)

    步骤:

    一、建立输入的数据对应的类和相应的函数。

    package com.entry;
    
    public class user {
    private String id;//账号
    private String password;//密码
    private String name;//姓名
    private String sex;//性别
    private String number;//学号
    private String mail;//邮箱
    private String xueyuan;//学院
    private String xi;//
    private String banji;//班级
    private String nian;//
    private String shengyuandi;//生源地
    private String beizhu;//备注
    
    public String getBeizhu() {
        return beizhu;
    }
    public void setBeizhu(String beizhu) {
        this.beizhu = beizhu;
    }
    public String getShengyuandi() {
        return shengyuandi;
    }
    public void setShengyuandi(String shengyuandi) {
        this.shengyuandi = shengyuandi;
    }
    public String getNian() {
        return nian;
    }
    public void setNian(String nian) {
        this.nian = nian;
    }
    public String getBanji() {
        return banji;
    }
    public void setBanji(String banji) {
        this.banji = banji;
    }
    public String getXi() {
        return xi;
    }
    public void setXi(String xi) {
        this.xi = xi;
    }
    public String getXueyuan() {
        return xueyuan;
    }
    public void setXueyuan(String xueyuan) {
        this.xueyuan = xueyuan;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getNumber() {
        return number;
    }
    public void setNumber(String number) {
        this.number = number;
    }
    public String getMail() {
        return mail;
    }
    public void setMail(String mail) {
        this.mail = mail;
    }
    public user(){}
    public user(String name, String password) {
        this.name = name;
        this.password = password;
    };
    public user(String id, String password, String name, String sex, String number, String mail,
                String xueyuan, String xi, String banji, String nian, String shengyuandi, String beizhu) {
        super();
        this.id = id;
        this.password = password;
        this.name = name;
        this.sex = sex;
        this.number = number;
        this.mail = mail;
        this.xueyuan = xueyuan;
        this.xi= xi;
        this.banji = banji;
        this.nian = nian;
        this.shengyuandi = shengyuandi;
        this.beizhu = beizhu;
    }
    }

    二、建立有关数据库连接,导入的类。

    package com.dao;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import com.entry.user;
    import com.util.DBUtil;
    
    public class userDao {
        //添加
            public boolean add(user user) {
                String sql = "insert into user2(id,sex,password,number,mail,name,xueyuan,xi,banji,nian,shengyuandi,beizhu)" 
                        + "values('" + user.getId() + "','" + user.getName() + "','" + user.getPassword() + "','" 
                        + user.getSex() + "','" + user.getMail() + "','" + user.getNumber() + "','" 
                        + user.getXueyuan() + "','" + user.getXi() + "','" + user.getBanji() + "','" 
                        + user.getNian() + "','" + user.getShengyuandi() + "','" + user.getBeizhu() + "')'" ;
                //创建数据库链接
                Connection conn = DBUtil.getConn();
                Statement state = null;
                boolean f = false;
                int a = 0;
                
                try {
                    state = conn.createStatement();
                    state.executeUpdate(sql);
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    //关闭连接
                    DBUtil.close(state, conn);
                }
                
                if (a > 0) {
                    f = true;
                }
                return f;
            }
            
            
             /*
             * 验证名称是否唯一
             * true --- 不唯一
             */
            public boolean id(String id) {
                boolean f = false;
                String sql = "select id from user2 where name = '" + id + "'";
                //c创建数据库连接
                Connection conn = DBUtil.getConn();
                Statement state = null;
                ResultSet rs = null;       
                try {
                    state = conn.createStatement();
                    rs = state.executeQuery(sql);
                    while (rs.next()) {
                        f = true;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                } finally {
                    DBUtil.close(rs, state, conn);
                }
                return f;
            }
    }
    package com.service;
    
    import com.dao.userDao;
    import com.entry.user;
    
    public class userservice {
    userDao cDao = new userDao();
        
        /*添加*/
        public boolean add(user user) {
            boolean f = false;
            if(!cDao.id(user.getId())) {
                cDao.add(user);
                f = true;
            }
            return f;
        }
          
    }
    package com.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 com.entry.user;
    import com.service.userservice;
    
    @WebServlet("/AddServlet")
    public class AddServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
        
        userservice service = new userservice();    
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("utf-8");
            String method = req.getParameter("method");
            if("add".equals(method))
             doGet(req,resp);
        
        }
        
        
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
             request.setCharacterEncoding("utf-8");
                //获取数据
                String id = request.getParameter("id");
                String password = request.getParameter("password");
                String sex = request.getParameter("sex");
                String number = request.getParameter("number");
                String name = request.getParameter("name");
                String mail = request.getParameter("mail");
                String xueyuan = request.getParameter("xueyuan");    
                String xi = request.getParameter("xi");
                String banji = request.getParameter("banji");
                String nian = request.getParameter("nian");
                String shengyuandi = request.getParameter("shengyuandi");
                String beizhu = request.getParameter("beizhu");
                user user = new user(id,password,sex,number,name,mail,xueyuan,xi,banji,nian,shengyuandi,beizhu);
                 System.out.println(id);
                //添加后消息显示
                if(service.add(user)) {
                    request.setAttribute("message", "添加成功");
                    request.getRequestDispatcher("NewFile.jsp").forward(request,response);
                } else {
                    request.setAttribute("message", "用户名重复,请重新录入");
                    request.getRequestDispatcher("NewFile.jsp").forward(request,response);
                }
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            doGet(request, response);
        }
    
    }
    package com.util;
     
    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?useSSL=false";
        public static String db_user = "root";
        public static String db_pass = "root";
         
        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;
        }
         
        /*10关闭连接*/
        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 user";
            pstmt = conn.prepareStatement(sql);
            rs = pstmt.executeQuery();
            if(rs.next()){
                System.out.println("空");
            }else{
                System.out.println("不空");
            }
        }
    }

    三、建立jsp文件,在lib中导入需要的jdbc。

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <title>Insert title here</title>
    <meta charset="UTF-8">
        <title>注册页面</title>
    </head>
    <body>
        <%
             Object message = request.getAttribute("message");
             if(message!=null && !"".equals(message)){
         
        %>
             <script type="text/javascript">
                  alert("<%=request.getAttribute("message")%>");
             </script>
        <%} %>
        <div align="center">
            <h6 style="color: black;">注册</h6>
         
            <form name = "form1" action="AddServlet?method=add" method="post" onsubmit="return check_submit()">
        <table>
                <tr>
                    <td>登陆账号:</td>
                    <td colspan="2"> <input type="text" id="id" name="id"  maxlength="12" onblur="blur_id()" onfocus="focus_id()"/></td>
                    <td width="300"><div id="result"></td>
                </tr>
                <tr>
                    <td>登陆密码:</td>
                    <td colspan="2"> <input type="password" id="password" name="password" onblur="blur_pass()" onfocus="focus_pass()" /></td>
                    <td width="300"><div id="result1"></td>
                </tr>
                <tr>
                    <td>性别:</td>
                    <td colspan="2"><input type="radio" id="sex" name="sex" value="男"><input type="radio" id="sex"name="sex" value="女">女</td>
                </tr>
                <tr>
                    <td>学号:</td>
                    <td colspan="2"><input type="number" id="number" name="number" onblur="blur_num()" onfocus="focus_num()" /></td>
                     <td width="300"><div id="result2"></td>
                </tr>
                <tr>
                    <td>姓名:</td>
                    <td colspan="2"><input type="text" id="name" name="name" onblur="blur_name()" onfocus="focus_name()" /></td>
                    <td width="300"><div id="result4"></td>
                </tr>
                <tr>
                    <td>电子邮箱:</td>
                    <td colspan="2"><input type="email" id="mail" name="mail" onblur="blur_mail()" onfocus="focus_mail()" /></td>
                    <td width="300"><div id="result3"></td>
                </tr>
                <tr>
                    <td>所在学院:</td>
                    <td colspan="2"><input type="text" id="xueyuan" name="xueyuan" onblur="blur_xueyuan()" onfocus="focus_xueyuan()" /></td>
                    <td width="300"><div id="result5"></td>
                </tr>
                <tr>
                    <td>所在系:</td>
                    <td colspan="2"><input type="text" id="xi" name="xi" onblur="blur_xi()" onfocus="focus_xi()" /></td>
                    <td width="300"><div id="result6"></td>
                </tr>
                <tr>
                    <td>所在班级:</td>
                    <td colspan="2"><input type="text" id="banji" name="banji"  onblur="blur_banji()" onfocus="focus_banji()"/></td>
                    <td width="300"><div id="result7"></td>
                </tr>
                <tr>
                    <td>入学年份(届):</td>
                    <td colspan="2">
                    <select name="nian" id="nian">
                    <option value="2019" >2019</option>
                    <option value="2018" >2018</option>
                    <option value="2017" >2017</option>
                    <option value="2016" >2016</option>
                    <option value="2015" >2015</option>
                    <option value="2014" >2014</option>
                    </select>届</td>
                </tr>
                <tr>
                    <td>生源地:</td>
                    <td colspan="2"><input type="text" id="shengyuandi" name="shengyuandi"  onblur="blur_shengyuandi()" onfocus="focus_shengyuandi()"/></td>
                    <td width="300"><div id="result8"></td>
                </tr>
                <tr>
                    <td>备注:</td>
                    <td colspan="2"><input type="text" id="beizhu" name="beizhu" onblur="blur_beizhu()" onfocus="focus_beizhu()" /></td>
                    <td width="300"><div id="result9"></td>
                </tr>
                <tr>
                <td colspan="3"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button type="submit" class="b">添加</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 </td>
                
                </tr>
        </table>
        </form>
        </div>
        <script type="text/javascript">
    /*
        表单验证
    */
    var flag = false;   // flag 如果为true(即用户名合法)就允许表单提交, 如果为false(即用户名不合法)阻止提交
    function focus_pass()
    {
        var nameObj = document.getElementById("result1");
        nameObj.innerHTML = "由八位以上字符和数字组成";
        nameObj.style.color="#999";
        }
    function blur_pass()
    {
        var nameObj = document.getElementById("result1");
        // 判断用户名是否合法
        var str2 = check_user_pass(document.form1.password.value);
        nameObj.style.color="red";
        if ("密码合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    
    function check_user_pass(str)
    {  var str2 = "密码合法";
    if ("" == str)
    {
        str2 = "密码为空";
        return str2;
    }
    else if (str.length<8)
    {
        str2 = "密码应是八位以上组成";
        return str2;
    }
    else if (!check_word(str))
    {
        str2 = "未含有英文字符";
        return str2;
    }
    
    return str2;
        
        
        }
    
    function focus_num()
    {
        var nameObj = document.getElementById("result2");
        nameObj.innerHTML = "由八位数字组成,由“2018”开头";
        nameObj.style.color="#999";
    }
    function blur_num()
    {
        var nameObj = document.getElementById("result2");
        // 判断用户名是否合法
        var str2 = check_user_number(document.form1.number.value);
        nameObj.style.color="red";
        if ("学号合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    function check_user_number(str)
    {
        var str2 = "学号合法";
        if ("" == str)
        {
            str2 = "学号为空";
            return str2;
        }
        else if (str.length!=8)
        {
            str2 = "学号应是八位组成";
            return str2;
        }
        else if(!check_firstnum(str))
        {
            str2 = "必须以“2018”开头";
            return str2;
        }
        return str2;
    }
        
        
        
    function focus_beizhu()
    {
        var nameObj = document.getElementById("result9");
        nameObj.style.color="#999";
    }
    function blur_beizhu()
    {
        var nameObj = document.getElementById("result9");
        // 判断用户名是否合法
        var str2 = check_user_beizhu(document.form1.beizhu.value);
        nameObj.style.color="red";
        if ("备注合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    function check_user_beizhu(str)
    {
        var str2 = "备注合法";
        if ("" == str)
        {
            str2 = "备注为空";
            return str2;
        }
        return str2;
    }
    
    
    
    
    
    function focus_shengyuandi()
    {
        var nameObj = document.getElementById("result8");
        nameObj.style.color="#999";
    }
    function blur_shengyuandi()
    {
        var nameObj = document.getElementById("result8");
        // 判断用户名是否合法
        var str2 = check_user_shengyuandi(document.form1.shengyuandi.value);
        nameObj.style.color="red";
        if ("生源地合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    function check_user_shengyuandi(str)
    {
        var str2 = "生源地合法";
        if ("" == str)
        {
            str2 = "生源地为空";
            return str2;
        }
        return str2;
    }
    
    
    
    
    
    function focus_banji()
    {
        var nameObj = document.getElementById("result7");
        nameObj.style.color="#999";
    }
    function blur_banji()
    {
        var nameObj = document.getElementById("result7");
        // 判断用户名是否合法
        var str2 = check_user_banji(document.form1.banji.value);
        nameObj.style.color="red";
        if ("班级合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    function check_user_banji(str)
    {
        var str2 = "班级合法";
        if ("" == str)
        {
            str2 = "班级为空";
            return str2;
        }
        return str2;
    }
    
    
    
    function focus_xi()
    {
        var nameObj = document.getElementById("result6");
        nameObj.style.color="#999";
    }
    function blur_xi()
    {
        var nameObj = document.getElementById("result6");
        // 判断用户名是否合法
        var str2 = check_user_xi(document.form1.xi.value);
        nameObj.style.color="red";
        if ("系名合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    function check_user_xi(str)
    {
        var str2 = "系名合法";
        if ("" == str)
        {
            str2 = "系名为空";
            return str2;
        }
        return str2;
    }
    
    
    
    
    
    function focus_xueyuan()
    {
        var nameObj = document.getElementById("result5");
        nameObj.style.color="#999";
    }
    function blur_xueyuan()
    {
        var nameObj = document.getElementById("result5");
        // 判断用户名是否合法
        var str2 = check_user_xueyuan(document.form1.xueyuan.value);
        nameObj.style.color="red";
        if ("学院名合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    function check_user_xueyuan(str)
    {
        var str2 = "学院名合法";
        if ("" == str)
        {
            str2 = "学院名为空";
            return str2;
        }
        return str2;
    }
    
    
    
    function focus_name()
    {
        var nameObj = document.getElementById("result4");
        nameObj.style.color="#999";
    }
    function blur_name()
    {
        var nameObj = document.getElementById("result4");
        // 判断用户名是否合法
        var str2 = check_user_name(document.form1.name.value);
        nameObj.style.color="red";
        if ("姓名合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    function check_user_name(str)
    {
        var str2 = "姓名合法";
        if ("" == str)
        {
            str2 = "姓名为空";
            return str2;
        }
        return str2;
    }
    
    
    
    
    function focus_mail()
    {
        var nameObj = document.getElementById("result3");
        nameObj.innerHTML = "格式要求:xxxx@xxxx.xxxx";
        nameObj.style.color="#999";
    }
    function blur_mail()
    {
        var nameObj = document.getElementById("result3");
        // 判断用户名是否合法
        var str2 = check_user_mail(document.form1.mail.value);
        nameObj.style.color="red";
        if ("邮箱合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    function check_user_mail(str)
    {
        var str2 = "邮箱合法";
        var regex = /^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/;
        if ("" == str)
        {
            str2 = "邮箱为空";
            return str2;
        }
        else if(!regex.test(str))
        {
            str2 = "邮箱格式错误";
            return str2;
        }
        return str2;
    }    
        
        
    function focus_id()
    {
        var nameObj = document.getElementById("result");
        nameObj.innerHTML = "由六到十二英文字符和数字组成";
        nameObj.style.color="#999";
        }
    function blur_id()
    {
        var nameObj = document.getElementById("result");
        // 判断用户名是否合法
        var str2 = check_user_id(document.form1.id.value);
        nameObj.style.color="red";
        if ("账号合法" ==  str2)
        {
            flag = true;
            nameObj.innerHTML = str2;
        }
        else
        {
            nameObj.innerHTML = str2;
        }
    }
    
    function check_user_id(str)
    {
        var str2 = "账号合法";
        if ("" == str)
        {
            str2 = "账号为空";
            return str2;
        }
        else if ((str.length<=4)||(str.length>=12))
        {
            str2 = "账号应是六到十二位组成";
            return str2;
        }
        else if (!check_word(str))
        {
            str2 = "未含有英文字符";
            return str2;
        }
        else if(!check_firstword(str))
        {
            str2 = "必须以英文字母开头";
            return str2;
        }
        return str2;
    }
    
    function check_firstnum(str)
    {
        var arr = ["2","0","1","8"];
        if((arr[0] == str.charAt(0))&&
           (arr[1] == str.charAt(1))&&
           (arr[2] == str.charAt(2))&&
           (arr[3] == str.charAt(3)))
            {
                return true;
            }
        else
            {
                return false;
            }
        }
        
        
    function check_firstword(str)
    {   var arr = ["a", "b", "c", "d", "e", "f", "g", "h","i","j", "k", "l", "m", "n", "o", "p", "q","r", "s", "t", "u", "v", "w", "x", "y","z","A", "B", "C", "D", "E", "F", "G", "H","I","J", "K", "L", "M", "N", "O", "P", "Q","R","S", "T", "U", "V", "W", "X", "Y", "Z"];
    for (var i = 0; i < arr.length; i++)
    {
            if (arr[i] == str.charAt(0))
            {
                return true;
            }
    }   
    return false;
        }
    
    
    function check_word(str)
    {   var arr = ["a", "b", "c", "d", "e", "f", "g", "h","i","j", "k", "l", "m", "n", "o", "p", "q","r", "s", "t", "u", "v", "w", "x", "y","z","A", "B", "C", "D", "E", "F", "G", "H","I","J", "K", "L", "M", "N", "O", "P", "Q","R","S", "T", "U", "V", "W", "X", "Y", "Z"];
    for (var i = 0; i < arr.length; i++)
    {
        for (var j = 0; j < str.length; j++)
        {
            if (arr[i] == str.charAt(j))
            {
                return true;
            }
        }
    }   
    return false;
        }
    
    // 验证用户名是否含有特殊字符
    function check_other_char(str)
    {
        var arr = ["&", "\", "/", "*", ">", "<", "@", "!"];
        for (var i = 0; i < arr.length; i++)
        {
            for (var j = 0; j < str.length; j++)
            {
                if (arr[i] == str.charAt(j))
                {
                    return true;
                }
            }
        }   
        return false;
    }
    // 根据验证结果确认是否提交
    function check_submit()
    {
        if (flag == false)
        {
            return false;
        }
        return true;
    }
    </script>
    </head>
    </body>
    </html>

    四、在Navicat中建立相应的表。

    完成。

  • 相关阅读:
    ubuntu 12.04 挂载windows分区
    linux ubuntu12.04 配置jdk
    java.lang.IllegalStateException: Cannot forward after response has been committe
    linux ubuntu 安装vim!
    linux ubuntu12.04 eclipse安装 svn
    linux下 android环境配置!
    ubuntu 12.04 配置telnet
    测试下来比较好用的jquery upload插件——uploadify
    google市场又能用了
    当php.ini里post_max_size配置段使用简写法导致php无法接收$_POST值的!
  • 原文地址:https://www.cnblogs.com/zql-42/p/11716819.html
Copyright © 2011-2022 走看看