一、測試題目
?
二、完成過程
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 blocke.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 blocke.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 創建鏈接對象connectionconnection = DriverManager.getConnection(url,user,password);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return connection;}//關閉資源的方法public static void close(Connection connection ) {try {if (connection != null) {connection.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void close(PreparedStatement preparedStatement ) {try {if (preparedStatement != null) {preparedStatement.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void close(ResultSet resultSet ) {try {if (resultSet != null) {resultSet.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.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.缺陷記錄日志
①界面不美觀
②有一些異常處理沒有寫到,比如錄入為空時
?
四、實驗總結
這次實驗完成的很順,因為前一天晚上看了四個多小時關于這方面的操作,主要是中間那部分選擇老師和地點的,我沒有按照老師的要求,而是做了一個下拉菜單,因為我看課程表都是可以選擇的,這樣更加方便一些。
?