其他分享
首页 > 其他分享> > 中段考试

中段考试

作者:互联网

石家庄铁道大学在校学生行程统计(20分)

考试时间:180分钟

1、项目需求:

为了有效防止新冠疫情的传播,急需开发一套在校学生行程统计系统,完成信息统计,提前准备,有效保护在校学生的安全。

2.系统要求与功能设计

2.1 页面功能要求

(1)能够在Tomcat服务器中正确部署,并通过浏览器查看;(1分)

(2)网站页面整体风格统一;

(3)石家庄铁道大学在校学生行程统计页面,页面效果如图所示:(15分)

 

页面详细信息如下表所示:

信息标题

信息类型

填写要求

姓名

文本框

 

学号

文本框

要求输入八位数字

学生类别

单选框

单选项:本科生或者研究生

院系

下拉列表框

下来列表框内容包括(土木学院、机械学院、交通学院、信息学院、经管学院)

联系电话

文本框

要求输入11位数字

健康码颜色

单选框

单选选项(绿码、黄码、红码)

行程统计

复选框

□10月30日去过人民医院

□10月25日以来去过深泽县人民医院

□10月16日以来去过深泽县庄泽村

□10月29日以来去过黑龙江哈尔滨市或者黑河市

□10月18日以来途径贵州遵义市;北京丰台、昌平

□10月17日以来到过湖南长沙;青海海东市

(以上选项可以多选)

其他涉疫信息需要填报的

文本框

 

 

②点击“提交”按钮,保存成功则提示信息“填报成功”,失败则提示“信息填报错误”,并返回当前页面

评分标准:

①完成石家庄铁道大学在校学生行程统计页面(未完成0分,完成2分);

②保存行程信息入库(未完成0分,完成6分);

③学号和联系电话判断是否为指定位数的数字。(未完成0分,完成一个0.5,全部完成1分);

④学生类别和健康码颜色实现单选框选择功能(未完成0分,完成一个0.5,全部完成1分);

⑤实现院系下拉框功能(未完成0分,完成1分)。

⑥实现行程统计复选框功能(未完成0分,完成2分)

⑦实现提交后信息提示功能;(未完成0分,完成2分)

2.2 功能要求

(1)设计出合理的数据库和数据表,要求使用mysql、sqlserver、oracle三种数据库中一种(1分)

(2)使用Serverlet实现信息提交功能(1分)。

(3)使用Java Bean封装数据库连接操作(2分。)

 

我下面放的这个答案应该只能拿18分吧

我没有用Serverlet,直接把Serverlet里面的代码写在了jsp里面,考试的时候我还不太懂Serverlet,所以用了这个方法

其次,我也没有实现 判断学号和电话是否为制定数字的功能,听说这个功能要用到JavaScript的正则表达式,这个我也还不会

 

下面是工程目录

 

 Student.java

 1 package domain;
 2 
 3 public class Student {
 4     private String name;
 5     private String id;
 6     private String status;
 7     private String college;
 8     private String tel;
 9     private String color;
10     private String trip;
11     private String ps;
12 
13     public Student() {
14     }
15 
16     public Student(String name, String id, String status, String college, String tel, String color, String trip) {
17         this.name = name;
18         this.id = id;
19         this.status = status;
20         this.college = college;
21         this.tel = tel;
22         this.color = color;
23         this.trip = trip;
24     }
25 
26     public String getName() {
27         return name;
28     }
29 
30     public void setName(String name) {
31         this.name = name;
32     }
33 
34     public String getId() {
35         return id;
36     }
37 
38     public void setId(String id) {
39         this.id = id;
40     }
41 
42     public String getStatus() {
43         return status;
44     }
45 
46     public void setStatus(String status) {
47         this.status = status;
48     }
49 
50     public String getCollege() {
51         return college;
52     }
53 
54     public void setCollege(String college) {
55         this.college = college;
56     }
57 
58     public String getTel() {
59         return tel;
60     }
61 
62     public void setTel(String tel) {
63         this.tel = tel;
64     }
65 
66     public String getColor() {
67         return color;
68     }
69 
70     public void setColor(String color) {
71         this.color = color;
72     }
73 
74     public String getPs() {
75         return ps;
76     }
77 
78     public void setPs(String ps) {
79         this.ps = ps;
80     }
81 
82     public String getTrip() {
83         return trip;
84     }
85 
86     public void setTrip(String trip) {
87         this.trip = trip;
88     }
89 }

 

Dao.java

 1 package connect;
 2 
 3 import domain.Student;
 4 
 5 import java.sql.*;
 6 import java.util.ArrayList;
 7 import java.util.List;
 8 
 9 public class Dao {
10     final String URL = "jdbc:mysql://localhost:3306/java_test";
11     final String USER = "root";
12     final String PWD = "123456";
13     Connection  connection;
14     Statement   statement;
15     PreparedStatement preparedStatement;
16     ResultSet   resultSet;
17     List<Student> list = new ArrayList<>();
18 
19     public Connection getConnection() {
20         try{
21             Class.forName("com.mysql.cj.jdbc.Driver");
22         }catch (ClassNotFoundException e){
23             e.printStackTrace();
24         }
25         try{
26             connection = DriverManager.getConnection(URL,USER,PWD);
27             this.connection=connection;
28         }catch (SQLException e){
29             e.printStackTrace();
30         }
31         return connection;
32     }
33     public int insert(String name,String id,String status,String college,String tel,String color,String trip,String ps){
34         String sql="insert into student values(?,?,?,?,?,?,?,?) ";
35         int i = 0;
36         try {
37 
38             preparedStatement=connection.prepareStatement(sql);
39             preparedStatement.setString(1,name);
40             preparedStatement.setString(2,id);
41             preparedStatement.setString(3,status);
42             preparedStatement.setString(4,college);
43             preparedStatement.setString(5,tel);
44             preparedStatement.setString(6,color);
45             preparedStatement.setString(7,trip);
46             preparedStatement.setString(8,ps);
47             //System.out.println(id);
48             i=preparedStatement.executeUpdate();
49         } catch (SQLException e) {
50             e.printStackTrace();
51         }finally {
52             try {
53                 preparedStatement.close();
54                 connection.close();
55             } catch (SQLException e) {
56                 e.printStackTrace();
57             }
58 
59         }
60         return i;
61     }
62 }

 

MyTest.java

package test;

import com.mysql.cj.log.NullLogger;
import connect.Dao;

import java.sql.Connection;
import java.sql.SQLException;

public class MyTest {
    public static void main(String[] args) throws SQLException {
        Dao dao = new Dao();
        Connection connection = dao.getConnection();
        if(connection!= null){
            System.out.println("数据库连接成功");
        }else{
            System.out.println("数据库连接失败");
        }
    }
}

 

add.jsp

 1 <%@ page import="connect.Dao" %>
 2 <%@ page import="java.sql.Connection" %>
 3 
 4 <%--
 5   Created by IntelliJ IDEA.
 6   User: 十年磨一剑
 7   Date: 2021/11/5
 8   Time: 15:09
 9   To change this template use File | Settings | File Templates.
10 --%>
11 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
12 <html>
13 <head>
14     <title>石家庄铁道大学在校学生行程统计</title>
15 </head>
16 <body>
17 <form name="石家庄铁道大学在校学生行程统计" action="info.jsp" method="post">
18     <h2 align="center">石家庄铁道大学在校学生行程统计</h2>
19         <tr>
20             <br>1.姓名 <br/>
21             <td width="120"><input type="text" name="name"></td>
22 
23 
24             <br>2.学号<br/>
25             <td width="120"><input type="text" name="id"></td>
26 
27             <br>3.学生类别<br/>
28             <input  type="radio" name="status" value="本科生" >本科生
29             <input type="radio" name="status" value="研究生" checked="checked">研究生<br />
30 
31         <br>4.院系:</br>
32         <select name="college">
33             <option value="土木学院" selected >土木学院 </option>
34             <option value="机械学院" > 机械学院</option>
35             <option value="交通学院" > 交通学院</option>
36             <option value="信息学院" > 信息学院</option>
37             <option value="经管学院" > 经管学院</option>
38         </select>
39             <br>5.联系电话<br/>
40             <td width="120"><input type="text" name="tel"></td>
41         <br>6.健康码颜色<br/>
42             <input  type="radio" name="color" value="绿码" >绿码
43             <input  type="radio" name="color" value="黄码" >黄码
44             <input  type="radio" name="color" value="红码" checked="checked">红码<br/>
45         <br>7.行程统计</br>
46         <br><input size="100" type="checkbox" value="10月30日去过人民医院"  name ="a1"/>10月30日去过人民医院</br>
47         <br><input size="100" type="checkbox" value="10月25日以来去过深泽县人民医院"  name ="a2"/>10月25日以来去过深泽县人民医院</br>
48         <br><input size="100" type="checkbox" value="10月16日以来去过深泽县庄泽村"  name ="a3"/>10月16日以来去过深泽县庄泽村</br>
49         <br><input size="100" type="checkbox" value="10月29日以来去过黑龙江哈尔滨市或者黑河市"  name ="a4"/>10月29日以来去过黑龙江哈尔滨市或者黑河市</br>
50         <br><input size="100" type="checkbox" value="10月18日以来途径贵州遵义市;北京丰台、昌平"  name ="a5"/>10月18日以来途径贵州遵义市;北京丰台、昌平</br>
51         <br><input size="100" type="checkbox" value="10月17日以来到过湖南长沙;青海海东市"  name ="a6"/>10月17日以来到过湖南长沙;青海海东市</br>
52             <br>其它涉疫信息需要填报</br>
53             <br><input size="50" type="text" name="ps" /><br/>
54         </tr>
55         <tr align="center">
56             <th width="120" colspan="2"><input type="submit" value="提交"></th>
57         </tr>
58 </form>
59 
60 </body>
61 </html>

 

info.java

 1 <%@ page import="domain.Student" %>
 2 <%@ page import="java.util.List" %>
 3 <%@ page import="connect.Dao" %>
 4 <%@ page import="java.sql.Connection" %>
 5 
 6 <%--
 7   Created by IntelliJ IDEA.
 8   User: 十年磨一剑
 9   Date: 2021/11/5
10   Time: 15:42
11   To change this template use File | Settings | File Templates.
12 --%>
13 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
14 <html>
15 <head>
16     <title>提示页</title>
17 </head>
18 <body>
19 <%
20     request.setCharacterEncoding("utf-8");
21     String name=request.getParameter("name");
22     String id=request.getParameter("id");
23     String status=request.getParameter("status");
24     String college=request.getParameter("college");
25     String tel=request.getParameter("tel");
26     String color=request.getParameter("color");
27 //    String trip=request.getParameter("trip");
28     String ps=request.getParameter("ps");
29     String a1 = null;
30     String a2 = null;
31     String a3 = null;
32     String a4 = null;
33     String a5 = null;
34     String a6 = null;
35     if(request.getParameter("a1")!=null){
36         a1=request.getParameter("a1")+' ';
37     }else a1 = " ";
38     if(request.getParameter("a2")!=null){
39         a2=request.getParameter("a2")+' ';
40     }else a2 = " ";
41     if(request.getParameter("a3")!=null){
42         a3=request.getParameter("a3")+' ';
43     }else a3 = " ";
44     if(request.getParameter("a4")!=null){
45         a4=request.getParameter("a4")+' ';
46     }else a4 = " ";
47     if(request.getParameter("a5")!=null){
48         a5=request.getParameter("a5")+' ';
49     }else a5 = " ";
50     if(request.getParameter("a6")!=null){
51         a6=request.getParameter("a6")+' ';
52     }else a6 = " ";
53     String trip = a1+a2+a3+a4+a5+a6;
54     Dao dao=new Dao();
55     Connection connection=dao.getConnection();
56     if (connection!=null){
57         int i=dao.insert(name,id,status,college,tel,color,trip,ps);
58         out.println("成功添加"+i+"条数据");
59         out.println("添加成功"+"<a href=add.jsp?id=>返回添加页面" + "</a>");
60     }else {
61         out.println("数据库连接数据失败");
62         out.println("添加失败"+"<a href=add.jsp?id=>返回添加页面" + "</a>");
63     }
64 %>
65 </body>
66 </html>

 

jsp页面如下

 

 数据库里面

 

标签:10,preparedStatement,tel,String,id,中段,public,考试
来源: https://www.cnblogs.com/SHINIAN200/p/15530752.html