博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软概(lesson 2):课堂测试
阅读量:5317 次
发布时间:2019-06-14

本文共 5317 字,大约阅读时间需要 17 分钟。

一、测试题目

 

二、完成过程

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"%>用户添加页面    
课程名称:
任课教师:
上课地点:

  add1.jsp

<%@page import="xihuan.*"%><%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%    //接受客户端传递过来的参数    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);%>       保存成功

三、结果显示

三、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

你可能感兴趣的文章
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>
移动、联通和电信,哪家的宽带好,看完你就知道该怎么选了!
查看>>
Linux设置环境变量的方法
查看>>
Atitit.进程管理常用api
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>