zoukankan      html  css  js  c++  java
  • 第一次被要求连接数据库的课堂测试

    1.     题目要求

     

    按照图片要求设计添加新课程界面。(0.5分) 在后台数据库中建立相应的表结构存储课程信息。(0.5分) 实现新课程添加的功能。 要求判断任课教师为王建民、刘立嘉、刘丹、王辉、杨子光五位教师的其中一位。(0.5分) 要求上课地点开头为“一教、二教、三教、基教”中的一种。(0.5分) 实现数据存储功能。(3分)

    将课堂练习设计思想,源程序代码、运行结果截图的开发过程,并按照PSP0级的要求记录开发过程中的项目计划日志、时间记录日志、缺陷记录日志。 课堂练习的源代码上传到课堂派截止时间周二11月28日(18:00)之前。 博客发表截止时间周二11月28日(20:00)之前发布。

    2.     设计思想

    1)     首先做出一个界面,然后新建一个jsp文件用来接收传递过来的信息,做出判断,第三个页面(第三个jsp文件)就是处理判断结果是否合法。

    2)     对象类、对象的操作和链接数据库的文件都各自单独放在一个文件夹里。

    3.     源程序代码

    a)     add.jsp

    <%@page import="com.jaovo.msg.dao.ClassDaoImpl"%>

    <%@page import="com.jaovo.msg.model.Classes"%>

    <%@ page language="java" contentType="text/html; charset=UTF-8"

        pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <%

             //接收客户端传递过来的参数

             String classname = request.getParameter("classname");

             String teachername = request.getParameter("teachername");

             String address = request.getParameter("address");

             if((!teachername.equals("王建民")&&!teachername.equals("刘立嘉")&&!teachername.equals("刘丹")&&!teachername.equals("王辉")&&!teachername.equals("杨子光"))||(!address.startsWith("三教")&&!address.startsWith("二教")&&!address.startsWith("一教")&&!address.startsWith("基教")))

             {

    %>

                       <jsp:forward page="fail.jsp"></jsp:forward>

    <%

             }

            

             else{

                       Classes classes = new Classes();

                       classes.setclassname(classname);

                       classes.setteachername(teachername);

                       classes.setaddress(address);

                       ClassDaoImpl dclass = new ClassDaoImpl();

                       try{

                                dclass.add(classes);

                       }catch(NullPointerException e){

                                e.printStackTrace();

                       }

     

             }

    %>

    </html>

    b)        addInput.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"

        pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

             <title>用户添加页面</title>

    </head>

    <body>

             <form action="add.jsp" method="get">

                       <table align="center" border="1" width="500">

                                <tr>

                                         <td>课程名称 : </td>

                                         <td>

                                                   <input type="text" name="classname" />

                                         </td>

                                </tr>

                                         <tr>

                           <td>任课教师:</td>

                           <td>

                                    <input type="text" name="teachername" />

                           </td>

                  </tr>

                  <tr>

                           <td>上课地点:</td>

                           <td>

                                    <input type="text" name="address" />

                           </td>

                  </tr>

                  <tr align="center">

                           <td colspan="2">

                                    <input type="submit" value="提交" />

                           </td>

                  </tr>

                       </table>

             </form>

    </body>

    </html>

    c)     fail.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"

        pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

     

    <html>

    <head>

    <title>Insert title here</title>

    </head>

    <body>

             <h2>信息有误!</h2>

    </body>

    </html>

    d)     DBUtil. Class

    package com.jaovo.msg.Util;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.PreparedStatement;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    public class DBUtil {

          

           public  static  Connection getConnection() {

                  try {

                         //1 加载驱动

                         Class.forName("com.mysql.jdbc.Driver");

                  } catch (ClassNotFoundException e) {

                         // TODO Auto-generated catch block

                         e.printStackTrace();

                  }

                  String name = "root";

                  String password = "102012";

                  String url="jdbc:mysql://localhost:3306/jaovo_class";

                  Connection connection = null;

                  try {

                         //2 创建链接对象connection

                          connection = DriverManager.getConnection(url,name,password);

                  } catch (SQLException e) {

                         // TODO Auto-generated catch block

                         e.printStackTrace();

                  }

                  return connection;

           }

          

           //关闭资源的方法

           public static void close(Connection connection ) {

                  try {

                         if (connection != null) {

                                connection.close();

                         }

                        

                  } catch (SQLException e) {

                         // TODO Auto-generated catch block

                         e.printStackTrace();

                  }

           }

           public static void close(PreparedStatement preparedStatement ) {

                  try {

                         if (preparedStatement != null) {

                                preparedStatement.close();

                         }

                        

                  } catch (SQLException e) {

                         // TODO Auto-generated catch block

                         e.printStackTrace();

                  }

           }

           public static void close(ResultSet resultSet ) {

                  try {

                         if (resultSet != null) {

                                resultSet.close();

                         }

                        

                  } catch (SQLException e) {

                         // TODO Auto-generated catch block

                         e.printStackTrace();

                  }

           }

          

    }

    e)     Classes.class

    package com.jaovo.msg.model;

     

    public class Classes {

             private int id;

             private String  classname;

             private String  teachername;

             private String  address;

             public int getId() {

                       return id;

             }

             public void setId(int id) {

                       this.id = id;

             }

             public String getclassname() {

                       return classname;

             }

             public void setclassname(String classname) {

                       this.classname = classname;

             }

             public String getteachername() {

                       return teachername;

             }

             public void setteachername(String teachername) {

                       this.teachername = teachername;

             }

             public String getaddress() {

                       return address;

             }

             public void setaddress(String address) {

                       this.address = address;

             }

            

    }

    f)      IClassDao.class

    package com.jaovo.msg.dao;

    import java.util.List;

    import com.jaovo.msg.model.Classes;

    public interface IClassDao {

           public void add(Classes user);

          

    }

    g)     IClassDaoImpl.class

    package com.jaovo.msg.dao;

    import java.sql.Connection;

    import java.sql.PreparedStatement;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import com.jaovo.msg.Util.DBUtil;

    import com.jaovo.msg.model.Classes;

    public class ClassDaoImpl implements IClassDao {

           public void add(Classes classes) {

                  //获得链接对象

                  Connection connection = DBUtil.getConnection();

                  //准备sql语句

                  String sql = "insert into t_class(classname,teachername,address) value (?,?,?)";

                  //创建语句传输对象

                  PreparedStatement preparedStatement = null;

                  ResultSet resultSet = null;

                  try {

                         preparedStatement = connection.prepareStatement(sql);

                         preparedStatement.setString(1, classes.getclassname());

                         preparedStatement.setString(2, classes.getteachername());

                         preparedStatement.setString(3, classes.getaddress());

                         preparedStatement.executeUpdate();

                  } catch (SQLException e) {

                         // TODO Auto-generated catch block

                         e.printStackTrace();

                  }finally {

                         //关闭资源

                         DBUtil.close(preparedStatement);

                         DBUtil.close(connection);

                  }

                 

           }

    }

    4.     运行结果截图

     

    5.     项目计划日志

    备注:这是一个小课堂测试
    本来是早上上课可以完成的一个作业,因为我之前没有好好探究这些问题,导致今天我折腾了一天。

    6.      时间记录日志

    日期

    开始

    结束

    中断时间

    净时间

    活动

    备注

     周二

    9:15

    10:00

    0

    45min

    课堂测试

     

     

    10:10

    11:50

    0

    100

    接着写课堂测试的作业

     

     

    16:00

    21:00

    30min

    270min

    同上

    吃饭

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    7.      缺陷记录日志

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复时间

    修复缺陷

    11/28

    1

    思路

    设计思路

    设计思路

    10

    分装

     

    2

    代码实现

    代码实现

    代码实现

    25

    语法,书写错误

     

    3

    调试

    调试阶段

    调试阶段

    25

    数据库表设计

  • 相关阅读:
    [React Testing] Create a Custom Render Function to Simplify Tests of Redux Components
    [React Testing] Test a Custom React Hook with React’s Act Utility and a Test Component
    Android之Android apk动态加载机制的研究
    Android之设备唯一识别
    ios之调用打电话,发短信,打开网址
    ios之如何读取plist
    android之卸载反馈的功能
    Android之针对webview的缓存
    Android之仿String的对象驻留
    Mac与Mac之中的共享方式
  • 原文地址:https://www.cnblogs.com/w-honey/p/7912084.html
Copyright © 2011-2022 走看看