zoukankan      html  css  js  c++  java
  • 2019/10/21 课堂测试---向数据库添加新用户

         今天这一天太悲催了,上周六建民说让学习数据库,周一测试,从周六晚上到周日一整天,学了基本的数据库,今天测试遇见问题不会修改,总之就是一句话很糟糕,但是课下通过问同学,了解一些方法总算是弄出来了。

    问题:

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

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

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

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

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

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

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

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

      这个框架很容易做,关键就是数据库的连接和要求,没有借用学长的,所以有很多不完善的,通过以后学习会再次修改

    这是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>
    
    <style type="text/css">
        input[type='text'] {
            width: 250px;
            height: 30px;
        }
        input[type="password"]{
            width: 250px;
            height: 30px;
        }
        input[type="radio"]{
            width: 20px;
            height: 20px;
        }
        #where{
            width: 253px;
            height: 40px;
        }
    
    </style>
    
     <body style="background-color:orange">
     <%
             Object message = request.getAttribute("message");
             if(message!=null && !"".equals(message)){
         
        %>
             <script type="text/javascript">
                  alert("<%=request.getAttribute("message")%>");
             </script>
        <%} %>
    
     <h1 style="padding-left:640px"><font >用户注册</font></h1>    
         <form action="servletTest?method=add" method="post" id="form" onsubmit="return regist()">
          <table id="table" border="0"  cellspacing="0" style="100% ;height:100%;font-size:30px">
             <tr>
                <td align="right">登录账号:</td>
                <td><input type="text" id="usename" name="usename" placeholder="请输入用户名" style="font-size:20px"></td>
            
             </tr>
             <tr>     
                 <td align="right">登录密码:</td>
                 <td><input type="password" id="password" name="password" placeholder="请输入密码" style="font-size:20px"></td>             
             </tr>
             <tr>
                 <td align="right">性别:</td>
                 <td><select id="sex" name="sex" style="font-size:20px">
                       <option value="女"></option>
                       <option value="男"></option></td>             
             </tr>
             <tr>
                 <td align="right">姓名:</td>
                 <td><input type="text" id="name" name="name" placeholder="请输入姓名" style="font-size:20px"></td>
                 <td></br></td>
             </tr>
             <tr>
                 <td align="right">学号:</td>
                 <td><input type="text" id="num" name="num" placeholder="请输入学号" style="font-size:20px"></td>
                 
             </tr>
              <tr>
                 <td align="right">电子邮件:</td>
                 <td><input type="text" id="email" name="email" placeholder="请输入电子邮件" style="font-size:20px"></td>
                 
             </tr>
             <tr>
                 <td align="right">学院:</td>
                 <td><input type="text" id="xueyuan" name="xueyuan" placeholder="请输入学院" style="font-size:20px"></td>
                
             </tr>
             <tr>
                 <td align="right">所在系:</td>
                 <td><input type="text" id="xi" name="xi" placeholder="请输入系" style="font-size:20px"></td>
                 
             </tr>
              <tr>
                 <td align="right">所在班级:</td>
                 <td><input type="text" id="class1" name="class1" placeholder="请输入班级" style="font-size:20px"></td>
                 
             </tr>
             <tr>
                 <td align="right">入学年份:</td>
                 <td>
                     <select id="year" name="year" style="font-size:20px">
                       <option value="0">请选择</option>
                       <option value="2019">2019</option>
                       <option value="2018">2018</option>
                       <option value="2017">2017</option>
                       <option value="2016">2016</option>
                     </select>
                 </td>
                 
             </tr>
             <tr>
                <td align="right">生源地:</td>
                <td><input type="text" id="bornarea" name="bornarea" placeholder="请输入生源地" style="font-size:20px"></td>
                
             </tr>
             <tr>
                <td align="right">备注:</td>
                <td><textarea cols="40" rows="7" id="beizhu" name="beizhu"></textarea></td>
             </tr>
             <tr>
                 <td><input type="submit" value="注册" style="position:relative;top:30px;left:650px;font-size:20px"></td>
                 <td><input type="reset" name="button" value="重置" style="position:relative;top:30px;left:180px;font-size:20px"></td>
             </tr>
         </table>     
         </form>     
    </body>
        <script type="text/javascript">
                function regist(){
                    var usename = document.getElementById("usename");
                    var password = document.getElementById("password");
                    var sex = document.getElementById("sex");
                    var name = document.getElementById("name");
                    var num = document.getElementById("num");
                    var email = document.getElementById("email");
                    var xueyuan = document.getElementById("xueyuan");
                    var xi = document.getElementById("xi").value;
                    var class1 = document.getElementById("class1");
                    var year = document.getElementById("year");
                    var area = document.getElementById("bornarea");
                    var beizhu = document.getElementById("beizhu");
                    if (!usename.value.match(/^[a-zA-Z]w{5,11}$/)) {                      
                        alert("用户名由六到十二英文字符和数字组成,以英文字母开头");                    
                        usename.focus();
                        return false;
                    }else if (!password.value.match(/^[A-Za-z0-9]w{7,100}$/)) {
                           alert(" 密码由八位以上英文和数字组成");
                           password.focus();
                        return false;
                     }else if(num.value.substr(0,4)!="2018"){
                         alert("学号由2018开头的八位组成");
                         num.focus();
                         return false;
                    }else if(!email.value.match(/^[a-z0-9]+([._\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/)) {                 
                         alert(" 邮箱格式错误");      
                         email.focus();
                         return false;
                    }        
                } 
        </script>
    </html>

    样式:

     这是数据库代码:

    package servlet;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    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 org.junit.Test;
    @WebServlet("/servletTest")
    
    public class servletTest extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            doGet(request, response);
            String usename = request.getParameter("usename");
            String password = request.getParameter("password") ;
            String sex = request.getParameter("sex");
            String name = request.getParameter("name");
            String num = request.getParameter("num");
            String email = request.getParameter("email");
            String xueyuan = request.getParameter("xueyuan");
            String xi = request.getParameter("xi");
            String class1 = request.getParameter("class1");
            String year = request.getParameter("year");
            String bornarea = request.getParameter("bornarea");
            String beizhu = request.getParameter("beizhu");
            System.out.println(year);
            try {
                sql(usename,password,sex,name,num,email,xueyuan,xi,class1,year,bornarea,beizhu);
            } catch (ClassNotFoundException | SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        @Test
        public void add() {
        }
        public static void sql(String useName,String passWord,String sex,String name,String num,String email,String xueyuan,String xi,String class1,String year,String bornarea,String beizhu) throws ClassNotFoundException, SQLException {
            Class.forName("com.mysql.jdbc.Driver");    //加载驱动类
            String url = "jdbc:mysql://localhost:3306/test?useSSL=false";//MySQL在高版本需要指明是否进行SSL(保障Internet数据传输安全利用数据加密)
            String usename = "root";
            String password = "a3685371";
            Connection con = DriverManager.getConnection(url,usename,password);
            Statement stmt = con.createStatement();
            System.out.println(year);
            String sql = "INSERT INTO TEST VALUES('"+useName+"','"+passWord+"','"+sex+"','"+name+"','"+num+"','"+email+"','"+xueyuan+"','"+xi+"','"+class1+"','"+year+"','"+bornarea+"','"+beizhu+"')";
            int r = stmt.executeUpdate(sql);
            System.out.println(r);
        }
    }

    运行结果:

     

     

        数据库掌握的还不行,还要多学习,多向大佬学习!

      如果有大佬发现错误,请大佬留言指出,谢谢!

  • 相关阅读:
    如何:使用向导来处理项目模板 【转载】
    .NET : 如何在生成XML文档时绑定样式表
    如何在生产环境部署K2的流程
    SQL Server 数据库文档生成工具开源项目【合作邀请】
    新的纪元
    SharePoint : 谁说WSS不支持审核
    C++ : 类型的别名和对象的别名
    C++: 引用和地址运算符
    Infopath : 如何通过代码复制格式文本框的值
    正确地使用投影仪和移动硬盘
  • 原文地址:https://www.cnblogs.com/yangxiao-/p/11715868.html
Copyright © 2011-2022 走看看