中段考试
作者:互联网
石家庄铁道大学在校学生行程统计(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