课堂测试——课程信息保存

一、 程序设计思想

首先写一个Java文件,存放连接数据库的代码;其次在add.jsp中绘制一个保存的界面;在add.input中对在客户端输入的数据进行接收判断;最后在写一个可对数据库进行添加信息的函数,在add.jsp中进行调用,将数据保存到数据库中。

二、 源程序代码

User.java

package com.jaovo.msg.model;

public class User {
    

    private String  lesson;
    private String  teacher;
    private String  place;

    public String getLesson() {
        return lesson;
    }
    public void setLesson(String lesson) {
        this.lesson = lesson;
    }
    public String getTeacher() {
        return teacher;
    }
    public void setTeacher(String teacher) {
        this.teacher = teacher;
    }
    public String getPlace() {
        return place;
    }
    public void setPlace(String place) {
        this.place = place;
    }
    
}
package com.jaovo.msg.dao;

import java.util.List;

import com.jaovo.msg.model.User;

public interface IUserDao {
    public void add(User user);
    
}
package com.jaovo.msg.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


import com.jaovo.msg.Util.DBUtil;
import com.jaovo.msg.Util.UserException;
import com.jaovo.msg.model.User;

import sun.net.www.content.text.plain;

public class UserDaoImpl implements IUserDao {

    @Override
    public void add(User user) {
        //获得链接对象
        Connection connection = DBUtil.getConnection();
        //准备sql语句
        String sql = "select count(*) from t_user where lesson = ?";
        //创建语句传输对象
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, user.getLesson());
            //接收结果集
            resultSet = preparedStatement.executeQuery();
            //遍历结果集
            while(resultSet.next()) {
                if (resultSet.getInt(1) > 0) {
                    throw new UserException("用户已存在") ;
                }
            }
            
            sql = "insert into t_user(lesson,teacher,place) value (?,?,?)";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, user.getLesson());
            preparedStatement.setString(2, user.getTeacher());
            preparedStatement.setString(3, user.getPlace());
            preparedStatement.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            //关闭资源
            DBUtil.close(resultSet);
            DBUtil.close(preparedStatement);
            DBUtil.close(connection);
        }
        
    }

    

}
<%@page import="com.jaovo.msg.Util.ValidateUtil"%>
<%@page import="java.util.Map"%>
<%@ 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="lesson" />
                    <%=ValidateUtil.showError(request, "lesson") %>
                </td>
            </tr>
                <tr>
                <td>任课教师:</td>
                <td>
                    <select name="teacher">
                    <option  value="王建民">王建民</option>
                    <option  value="刘立嘉">刘立嘉</option>
                    <option  value="杨子光">杨子光</option>
                    <option  value="刘丹">刘丹</option>
                    <option  value="王辉">王辉</option>
                    <%=ValidateUtil.showError(request, "teacher") %>
                </td>
            </tr>
            <tr>
                <td>上课地点:</td>
                <td>
                    <select name="place">
                    <option  value="基教">基教</option>
                    <option  value="一教">一教</option>
                    <option  value="二教">二教</option>
                    <option  value="三教">三教</option>
                
                    <%=ValidateUtil.showError(request, "place") %>
                </td>
            </tr>
            <tr align="center">
                <td colspan="2">
                    <input type="submit"  value="保存" />
                </td>
            </tr>
        </table>
    </form>
    <script language="javascript">


</script>
</body>
</html>
<%@page import="com.jaovo.msg.Util.ValidateUtil"%>
<%@page import="com.jaovo.msg.Util.UserException"%>
<%@page import="com.jaovo.msg.dao.UserDaoImpl"%>
<%@page import="com.jaovo.msg.model.User"%>
<%@ 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 lesson = request.getParameter("lesson");
    String teacher = request.getParameter("teacher");
    String place = request.getParameter("place");
    boolean validate = ValidateUtil.validateNull(request, new String[]{"lesson","teacher","place"});
    if(!validate){
%>
    <jsp:forward page="addInput.jsp"></jsp:forward>
<%
    }
    User user = new User();
    user.setLesson(lesson);
    user.setTeacher(teacher);
    user.setPlace(place);
    UserDaoImpl userDao = new UserDaoImpl();
    try{
        
    userDao.add(user);
    //重定向
    
%>

    
    
<%
    }catch(UserException e){
%>
    <h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2>
    <%
    }
    %>

三、 运行结果截图

一、 记录开发过程

 项目计划日志

名称:课程信息保存                                   日期:2017.11.28

日期

上课

编写程序

上课

编写程序

 

 

周二

50

50

110

60

 

 

 时间记录日志

学生       王晓丹                               日期        2017.11.28    

教师       王建民                               课程        软件工程概论  

日期

开始时间

结束时间

中断时间

净时间

活动

备注

C

U

2017.11.28

9:05

9:50

 

50min

课堂测试

 

 

 

 

10:10

12:00

 

110min

上课

 

 

 

 

14:00

15:00

 

60min

课堂测试未完成部分

 

 

 

 缺陷记录日志

学生         王晓丹         

日期         2017. 11.28    

教员         王建民        

程序号      02 课程信息保存 

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

2017.11.28

1

数据库连接

编码

编译

60min

 

描述:代码中有一处名称与数据库中不一样

 

2

输入限制

设计

编码

20

 

描述:可以将任课教师和上课地点设置为下拉菜单模式

 

原文地址:https://www.cnblogs.com/wxd136/p/7911158.html