10.21课堂测试

一、题目

 二、思路

       拿到这道题目以后,我感觉比上次测试有进步,首先我没有慌,我按照周六学长教我的方法,创建javaweb项目。我建立好了连接类,写好了.jsp页面。之后就开始思考java的源代码。我发现了自己的不足。我对数据库的增删改查功能不熟悉,不熟悉mysql语句,也你熟悉jsp语句,这是需要以后勤加练习的。在别人的指导下,我完成了添加这个功能。但是没有校验功能。总的来说还是有收获的,这一个星期,我知道了怎样连数据库,怎么配tomcat环境。还知道了,运行过程中的问题怎么解决。

三、连接数据库的类

 1 package 包名;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8 
 9 
10 public class DBUtil {
11     
12     public static String db_url = "jdbc:mysql://localhost:3306/数据库名?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
13     
14     public static String db_user = "root";
15     
16     public static String db_pass = "123";
17     
18     public static Connection getConn () {
19         
20         
21         Connection conn = null;
22         
23         try {
24             
25             Class.forName("com.mysql.cj.jdbc.Driver");
26             conn = DriverManager.getConnection(db_url, db_user, db_pass);
27         } catch (Exception e) {
28             e.printStackTrace();
29         }
30         
31         return conn;
32     }
33     
34     
35     public static void close (Statement state, Connection conn) {
36         if (state != null) {
37             try {
38                 state.close();
39             } catch (SQLException e) {
40                 e.printStackTrace();
41             }
42         }
43         
44         if (conn != null) {
45             try {
46                 conn.close();
47             } catch (SQLException e) {
48                 e.printStackTrace();
49             }
50         }
51     }
52     
53     public static void close (ResultSet rs, Statement state, Connection conn) {
54         if (rs != null) {
55             try {
56                 rs.close();
57             } catch (SQLException e) {
58                 e.printStackTrace();
59             }
60         }
61         
62         if (state != null) {
63             try {
64                 state.close();
65             } catch (SQLException e) {
66                 e.printStackTrace();
67             }
68         }
69         
70         if (conn != null) {
71             try {
72                 conn.close();
73             } catch (SQLException e) {
74                 e.printStackTrace();
75             }
76         }
77     }
78 
79 }

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html>
 4 <html>
 5 <head>
 6 <meta charset="UTF-8">
 7 <title></title>
 8 </head>
 9 <body >
10     <%
11          Object message = request.getAttribute("message");
12          if(message!=null && !"".equals(message)){
13      
14     %>
15          <script type="text/javascript">
16               alert("<%=request.getAttribute("message")%>");
17          </script>
18     <%} %>
19     <font>当前位置:添加学生信息</font>
20 <form action="servlet?method=insert" method="post" onsubmit="return check()">
21 登录账号:<input type="text" id="username"  name="username"><br />
22 登录密码:<input type="password" id="password" name="password" ><br />
23 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;性别:<input type="radio"  name="sex" value="男">24     <input type="radio" name="sex" value="女"><br />
25 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;姓名:<input type="text" id="name" name="name"><br />
26 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;学号:<input type="text" id="number" name="number"><br />
27 电子邮件:<input type="text" id="mail" name="mail"> <br />
28 所在学院<input type="text" id="xuexiao" name="xuexiao"><br />
29 所在系:<input type="text" id="xi" name="xi"><br />
30 所在班级:<input type="text" id="ban" name="ban"><br />
31 入学年份:<select name="nian">
32 <option>请选择</option>
33 <option>2017</option>
34 <option>2018</option>
35 <option>2019</option>
36 </select><br />
37 生源地:<input type="text" id="area" name="area"><br />
38 备注:
39 <textarea name="base">
40             
41         </textarea><br />
42 
43 
44 <div>
45 <button type="submit" >&nbsp;&nbsp;&nbsp;</button>
46 </div>
47 </form>
48     <script type="text/javascript">
49 
50     
51         function check() 
52         {
53             var username = document.getElementById("username");
54             var password = document.getElementById("password");
55                 var mail=     document.getElementById("mail");
56             var number=document.getElementById("number");
57             //判断是否空
58             var res=/^[0-9a-zA-Z]*$/g; //必须是数字和英文组合
59             var length1=username.length;
60             var myPattern = new RegExp("^[a-zA-Z]");//以英文字母开头
61             var usernamelength=document.getElementById("username").value.length;
62        
63             if(!((res.test(username.value))&&(myPattern.test(username.value))&&usernamelength>5&&usernamelength<=13)) 
64                 {
65                 alert('用户名必须为字母数字为组成首字母大写');
66                 username.focus();
67                 return false;
68                 }
69             var length=document.getElementById("password").value.length;
70 
71             
72         
73             if((res.test(password.value)&&length>=8)) 
74             {
75                 alert('由八位以上英文和数字组成');
76                 password.focus();
77                 return false;
78             }
79             if((number.value[0]!=2&&number.value[1]!=0&&number.value[2]!=1&&number.value[3]!=8)&&number.value.length!=8){
80                 alert("学号格式不正确");
81             number.focus();
82                 return false;
83             }
84             
85             var kao=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
86             
87             if(!(kao.test(mail.value)))
88             {alert("邮箱格式不正确");
89             mail.focus();
90             return false;}
91             
92         }
93         
94     </script>
95 </body>
96 </html>

原文地址:https://www.cnblogs.com/mac-13/p/11716756.html