ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

11.5--Java期中考试

2021-11-06 20:00:30  阅读:195  来源: 互联网

标签:Java String -- 11.5 request stud import public pstmt


这次的期中考试难度较低,只需要实现一个简单的添加功能,但是后续的增删改查四个功能会逐步完善。这个添加功能和我之前实现的课程添加相差不多,需要把选框中的数据闯进数据库。

知识:mysql数据库+Servlet+jsp+javaweb

环境:idea或eclipse,这次我用的是eclipse

这次的题目名称是形成信息统计系统,就是平常疫情统计信息时的表格。

目录结构

 

 主页面

 

 添加截图

 

 下面是我的代码

1、在数据库进行建表(此处省略)和连接数据库

 1 package dao;
 2 
 3 import java.sql.*;
 4 
 5 public class DBUtil {
 6     static String url="jdbc:mysql://localhost:3306/数据库名";
 7     static String passwd="数据库密码";
 8     static String user="root";
 9 
10     public static Connection getConnection(){
11         Connection conn=null;
12         try {
13             Class.forName("com.mysql.jdbc.Driver");
14             conn= DriverManager.getConnection(url,user,passwd);
15             System.out.println("连接成功");
16         } catch (Exception e) {
17             System.out.println("连接失败");
18             e.printStackTrace();
19         }
20         return conn;
21     }
22     public static void close(Statement stmt, Connection conn, PreparedStatement ps, ResultSet rs){
23         if(stmt!=null){
24             try {
25                 stmt.close();
26             } catch (SQLException e) {
27                 e.printStackTrace();
28             }
29         }
30         if(conn!=null){
31             try {
32                 conn.close();
33             } catch (SQLException e) {
34                 e.printStackTrace();
35             }
36         }
37         if(ps!=null){
38             try {
39                 ps.close();
40             } catch (SQLException e) {
41                 e.printStackTrace();
42             }
43         }
44 
45         if(rs!=null){
46             try {
47                 rs.close();
48             } catch (SQLException e) {
49                 e.printStackTrace();
50             }
51         }
52     }
53 }

2、建立实体类,这里我均设置为字符串

 1 package entity;
 2 
 3 public class Stud {
 4     private String stuname;
 5     private String id;
 6     private String stuclass;
 7     private String college;
 8     private String phone;
 9     private String health;
10     private String trip;
11     private String other0;
12 
13     public String getStuname() {
14         return stuname;
15     }
16 
17     public void setStuname(String stuname) {
18         this.stuname = stuname;
19     }
20 
21     public String getId() {
22         return id;
23     }
24 
25     public void setId(String id) {
26         this.id = id;
27     }
28 
29     public String getStuclass() {
30         return stuclass;
31     }
32 
33     public void setStuclass(String stuclass) {
34         this.stuclass = stuclass;
35     }
36 
37     public String getCollege() {
38         return college;
39     }
40 
41     public void setCollege(String college) {
42         this.college = college;
43     }
44 
45     public String getPhone() {
46         return phone;
47     }
48 
49     public void setPhone(String phone) {
50         this.phone = phone;
51     }
52 
53     public String getHealth() {
54         return health;
55     }
56 
57     public void setHealth(String health) {
58         this.health = health;
59     }
60 
61     public String getTrip() {
62         return trip;
63     }
64 
65     public void setTrip(String trip) {
66         this.trip = trip;
67     }
68 
69     public String getOther0() {
70         return other0;
71     }
72 
73     public void setOther0(String other0) {
74         this.other0 = other0;
75     }
76 }

3、设计方法,将数据填进数据库

 1 package dao;
 2 
 3 import entity.Stud;
 4 
 5 import java.sql.Connection;
 6 import java.sql.PreparedStatement;
 7 import java.sql.ResultSet;
 8 import java.sql.SQLException;
 9 
10 public class Add {
11     Connection conn=(Connection) DBUtil.getConnection();
12 
13     public boolean add(Stud stu){
14         boolean flag=false;
15         ResultSet rs=null;
16         String sql="insert into 表名 values(?,?,?,?,?,?,?,?)";
17         try {
18             PreparedStatement pstmt= conn.prepareStatement(sql);
19             pstmt.setString(1,stu.getStuname());
20             pstmt.setString(2, stu.getId());
21             pstmt.setString(3,stu.getStuclass());
22             pstmt.setString(4, stu.getCollege());
23             pstmt.setString(5, stu.getPhone());
24             pstmt.setString(6,stu.getHealth());
25             pstmt.setString(7,stu.getTrip());
26             pstmt.setString(8,stu.getOther0());
27             int i= pstmt.executeUpdate();//判断方法是否执行成功,可删去。
28             pstmt.close();
29             conn.close();
30             if(i>0) flag=true;
31         } catch (SQLException e) {
32             e.printStackTrace();
33         }
34         return flag;
35     }
36 }

4、建立Servlet(其建立方法较特殊,下面我会介绍),后端数据处理,页面进行跳转

 1 package Servlet;
 2 
 3 import dao.Add;
 4 import entity.Stud;
 5 
 6 import javax.servlet.*;
 7 import javax.servlet.http.*;
 8 import javax.servlet.annotation.*;
 9 import java.io.IOException;
10 import java.util.Arrays;
11 
12 @WebServlet(name = "addServlet", value = "/addServlet")
13 public class addServlet extends HttpServlet {
14     @Override
15     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
16         request.setCharacterEncoding("UTF-8");
17         response.setContentType("text/html;charset=utf-8");
18 
19         String stuname=request.getParameter("stuname");
20         String id=request.getParameter("id");
21         String stuclass=request.getParameter("stuclass");
22         String college=request.getParameter("college");
23         String phone=request.getParameter("phone");
24         String health=request.getParameter("health");
25         String [] h=request.getParameterValues("trip");
26         String trip=Arrays.toString(h);
27         trip=trip.substring(1,trip.length()-1);//实现多选数据进库
28         String other0=request.getParameter("other0");
29         
30 
31         Stud stud=new Stud();
32         stud.setStuname(stuname);
33         stud.setId(id);
34         stud.setStuclass(stuclass);
35         stud.getStuclass();
36         stud.setCollege(college);
37         stud.setPhone(phone);
38         stud.setHealth(health);
39         stud.setTrip(trip);
40         stud.setOther0(other0);
41         Add s=new Add();
42         try{
43             s.add(stud);
44             response.sendRedirect(request.getContextPath()+"/success.jsp");
45         }catch(Exception e){
46             response.sendRedirect(request.getContextPath()+"/fail.jsp");
47         }
48     }
49 }

5、.jsp界面,在这之后会逐渐使用.html,这里只有main.jsp,success.jsp 和fail.jsp非常简单,不再介绍

 1 <%--
 2   Created by IntelliJ IDEA.
 3   User: 贾梓钊
 4   Date: 2021/11/5
 5   Time: 14:13
 6   To change this template use File | Settings | File Templates.
 7 --%>
 8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 9 <html>
10 <head>
11     <meta charset="UTF-8">
12     <title>行程统计</title>
13 </head>
14 <body bgcolor="aqua">
15 <div id="addSubjectForm" align="center">
16     <form action="addServlet" method="post">
17     <tr>
18         <td>姓名:</td>
19         <td><input type="text" name="stuname" size="20"><br></td>
20     </tr>
21     <tr>
22         <td>学号:</td>
23         <td><input type="text" name="id" size="20"><br></td>
24     </tr>
25     <tr>
26         <td>学生类别:</td>
27         <td><input type="checkbox" name="stuclass" value="本科生">本科生
28         <input type="checkbox" name="stuclass" value="研究生">研究生
29         </td>
30     </tr>
31     <br>
32     <tr>
33     <td>电话:</td>
34     <td><input type="text" name="phone" size="20">
35     </tr>
36     <br>
37     <tr>
38         <td>院系:</td>
39         <select name="college">
40             <option value="土木学院">土木学院</option>
41             <option value="机械学院" >机械学院</option>
42             <option value="交通学院" >交通学院</option>
43             <option value="信息学院" >信息学院</option>
44             <option value="经管学院" >经管学院</option>
45         </select>
46     </tr>
47     <br>
48     <tr>
49         <td>健康码:</td>
50         <td><input type="checkbox" name="health" value="绿色">绿色
51         <input type="checkbox" name="health" value="黄色">黄色
52         <input type="checkbox" name="health" value="红色">红色</td>
53     </tr>
54     <br>
55     <tr>
56         <td>行程统计:</td>
57         <td>
58             <input type="checkbox" name="trip" value="10月30日去过人民医院">10月30日去过人民医院<br>
59             <input type="checkbox" name="trip" value="10月25日以来去过深泽县人民医院">10月25日以来去过深泽县人民医院<br>
60             <input type="checkbox" name="trip" value="10月16日以来去过深泽县庄泽村">10月16日以来去过深泽县庄泽村<br>
61             <input type="checkbox" name="trip" value="10月29日以来去过黑龙江哈尔滨市或者黑河市">10月29日以来去过黑龙江哈尔滨市或者黑河市<br>
62             <input type="checkbox" name="trip" value="10月18日以来途径贵州遵义市;北京丰台、昌平">10月18日以来途径贵州遵义市;北京丰台、昌平<br>
63             <input type="checkbox" name="trip" value="10月17日以来到过湖南长沙;青海海东市">10月17日以来到过湖南长沙;青海海东市<br>
64         </td>
65     </tr>
66     <br>
67     <tr>
68         <td>其他涉疫信息需要填报的:</td>
69         <td><input type="text" name="other0" size="50"><br></td>
70     </tr>
71     <tr>
72         <td colspan="2"><div align="center"><input type="submit" value="提交">
73         </div>
74     </form>
75 </div>
76 </body>
77 </html>

eclipse建立Servlet

右键src

 

 选择other,进入下一界面

 

 选择Servlet,如果没有,进行搜索即可。

至于idea建立servlet的方法,上一篇博客中有,这里就不再介绍。

标签:Java,String,--,11.5,request,stud,import,public,pstmt
来源: https://www.cnblogs.com/jzz-111jy/p/15518164.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有