软概(lesson 2):课堂测试

一、测试题目

二、完成过程

1.设计思想

①连接mysql数据库

②设计user类,增加参数

③设计add类,向数据库内增加内容

④设计addInput页面,完成录入操作

⑤设计add页面,接收录入的参数,并调用add类函数

2.源代码

user.java

package xihuan;


public class User {
	private String kcmc;
	private String rkjs;
	private String skdd;
	public String getKcmc() {
		return kcmc;
	}
	public void setKcmc(String kcmc) {
		this.kcmc = kcmc;
	}
	public String getRkjs() {
		return rkjs;
	}
	public void setRkjs(String rkjs) {
		this.rkjs = rkjs;
	}
	public String getSkdd() {
		return skdd;
	}
	public void setSkdd(String skdd) {
		this.skdd = skdd;
	}

	
}

  add.java

package xihuan;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class add{

	public void add1(User user) {
		//获得链接对象
		Connection connection = DBUtil.getConnection();
		//准备sql语句
		String sql = "select count(*) from t_user where 'kcmc' = ?";
		//创建语句传输对象
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		try {
			preparedStatement = connection.prepareStatement(sql);
			preparedStatement.setString(1, user.getKcmc());
			//接收结果集
			resultSet = preparedStatement.executeQuery();
			//遍历结果集
			sql = "insert into t_user(kcmc,rkjs,skdd) value (?,?,?)";
			preparedStatement = connection.prepareStatement(sql);
			preparedStatement.setString(1, user.getKcmc());
			preparedStatement.setString(2, user.getRkjs());
			preparedStatement.setString(3, user.getSkdd());
			preparedStatement.executeUpdate();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			//关闭资源
			DBUtil.close(resultSet);
			DBUtil.close(preparedStatement);
			DBUtil.close(connection);
		}
		
	}
}

  DBUtil.java

package xihuan;
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").newInstance();
		} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String user = "root";
		String password = "root";
		String url = "jdbc:mysql://localhost:3306/web1?useUnicode=true&characterEncoding=utf-8&useSSL=false";
		Connection connection = null;
		try {
			//2 创建链接对象connection
			 connection = DriverManager.getConnection(url,user,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();
		}
	}
	
}

  UserException

package xihuan;
public class UserException extends RuntimeException{

	public UserException() {
		super();
		// TODO Auto-generated constructor stub
	}

	public UserException(String arg0, Throwable arg1, boolean arg2, boolean arg3) {
		super(arg0, arg1, arg2, arg3);
		// TODO Auto-generated constructor stub
	}

	public UserException(String arg0, Throwable arg1) {
		super(arg0, arg1);
		// TODO Auto-generated constructor stub
	}

	public UserException(String arg0) {
		super(arg0);
		// TODO Auto-generated constructor stub
	}

	public UserException(Throwable arg0) {
		super(arg0);
		// TODO Auto-generated constructor stub
	}

}

  addInput1.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="add1.jsp" method="get">
        <table align="center" border="1">
            <tr >
                <td>课程名称:</td>
                <td>
                   <input type="text" name="kcmc"/>
                </td>
            </tr>
                        <tr>
                <td>任课教师:</td>
                <td>

                   <select name="rkjs">
                   <option value="王建民">王建民</option>
                   <option value="刘丹">刘丹</option>
                   <option value="刘立嘉">刘立嘉</option>
                   <option value="王辉">王辉</option>
                   <option value="杨子光">杨子光</option>                   
                   </select>
                </td>
            </tr>
                        <tr>
                <td>上课地点:</td>
                <td>
                   <select name="skdd">
                   <option value="基教">基教</option>
                   <option value="一教">一教</option>
                   <option value="二教">二教</option>
                   <option value="三教">三教</option>
                </td>
                <td>
                   <input type="text" name="jt"/>
                </td>
            </tr>
            <tr align="center">
    			<td colspan="2">
    				<input type="submit" value="保存" />
    			</td>
    		</tr>
        </table>
     </form>
</body>
</html>

  add1.jsp

<%@page import="xihuan.*"%>
<%@ 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 kcmc= request.getParameter("kcmc"); 
    String rkjs= request.getParameter("rkjs");
    String skdd= request.getParameter("skdd");
    String jt= request.getParameter("jt");
    User f=new User();
    f.setKcmc(kcmc);
    f.setSkdd(skdd+jt);
    f.setRkjs(rkjs);
    add a = new add();
    a.add1(f);
%>

<body>
       保存成功<br>
</body>
</html>

三、结果显示

三、psp0级

1.项目计划总结

时间计划:上课时间10点-10点40,下午2点-3点,晚上6点-7点

内容规划:上午完成最基本的连接录入,下午完成中间的异常情况,晚上撰写博客园总结收获

2.时间记录日志

实际时间:10点开始-10点43,下午1点42-2点24,晚上6点28-7点10,共计约2小时

内容基本完成

3.缺陷记录日志

①界面不美观

②有一些异常处理没有写到,比如录入为空时

四、实验总结

这次实验完成的很顺,因为前一天晚上看了四个多小时关于这方面的操作,主要是中间那部分选择老师和地点的,我没有按照老师的要求,而是做了一个下拉菜单,因为我看课程表都是可以选择的,这样更加方便一些。

原文地址:https://www.cnblogs.com/cairsha/p/7911522.html