軟概(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 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.缺陷記錄日志

①界面不美觀

②有一些異常處理沒有寫到,比如錄入為空時

?

四、實驗總結

這次實驗完成的很順,因為前一天晚上看了四個多小時關于這方面的操作,主要是中間那部分選擇老師和地點的,我沒有按照老師的要求,而是做了一個下拉菜單,因為我看課程表都是可以選擇的,這樣更加方便一些。

?

轉載于:https://www.cnblogs.com/cairsha/p/7911522.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281757.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281757.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281757.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

谷歌Gboard輸入法新增“無痕模式”:僅在Chrome隱身窗口中適用

據外媒Android Police報道&#xff0c;如大家所知道的&#xff0c;Chrome瀏覽器中的“隱身模式”是為了防止你的私密瀏覽記錄被其他人看到&#xff0c;但是&#xff0c;在這種模式下&#xff0c;你的輸入法鍵盤依然會記住你輸入的短語&#xff0c;為了阻止你的鍵盤在Chrome隱身…

php兩個數組融合,php合并兩個數組的方式有哪些

1、arrary_merge示例代碼&#xff1a;$arr1 array(1, 2, 3, 4, 5);$arr2 array(1, 2, 6, 7, 8, 9, 10);$result1 array_merge($arr1, $arr2);$arr3 array("name" > "itbsl", "age" > 13, "sex" > "Male");$arr…

最近對latin-1這個字符集產生了不少好感

【簡介】 最近我要解析一個數據庫中間件的日志、這個中間件會在日志中記錄SQL發往的后臺DB ,執行耗時&#xff0c;對應的SQL&#xff1b;中間件直接把SQL寫到 了日志中去&#xff0c;并沒有對SQL進行適當的編碼轉換&#xff1b;理想情況下這個也不會有什么問題&#xff0c;不幸…

面象對象設計原則之六:迪米特原則(LeastKnowledge Principle, LKP)

迪米特法則來自于1987年美國東北大學(Northeastern University)一個名為“Demeter”的研究項目。迪米特法則又稱為最少知識原則(LeastKnowledge Principle, LKP)&#xff0c;其定義如下&#xff1a; 迪米特法則(Law of Demeter, LoD)&#xff1a;一個軟件實體應當盡可能少地與…

php symfony urlmatcher-gt;match,symfony路由組件(The Routing Component)

The Routing component 把HTTP request轉換為一系列的配置參數.安裝你有兩種方式來安裝這個組件:通過 Composer (symfony/routing on Packagist);使用官方的 Git repository (https://github.com/symfony/Routing)。然后, 需要Composer把vendor/autoload.php 這個文件提供 給 a…

R升級和包更新

1.R升級 # 安裝包"installr" install.packages("installr") # 導入包 library(installr) # 升級 updateR() 2.包升級 # 包升級 update.packages() 3.安裝包 # 選擇鏡像 options(reposstructure(c(CRAN"https://cran.cnr.berkeley.edu/"))) # 安裝…

其他對象的表單

1.textarea&#xff1a; textarea對象就想是input對象中的text樣式的表單&#xff0c;只不過是擴展過的text樣式表單。它可以通過行&#xff08;rows&#xff09;屬性和列&#xff08;cols&#xff09;屬性來編輯文本域的大小。最常見于留言板、論壇時回帖時的文本框等。 <h…

WinForm(十三)WebView2

WebView是WinForm框架中一個控件&#xff0c;用來對網頁信息交互&#xff0c;有時Web自己開發的&#xff0c;有時Web是三方的。下面通過一個例子來看看WebView2的使用。首先看Web的邏輯&#xff0c;是一個商品添加頁面&#xff0c;用AlpineJS和BootStrap來開發的&#xff0c;業…

Fluent UDF【4】:C語言

Fluent UDF利用的是C語言&#xff0c;本文簡單介紹在UDF中經常會用到的C語言常識。 本文部分內容來自UDF手冊。 1 C語言中的注釋 C語言中的注釋利用/*及*/來實現。例如: /*這是一個注釋*/ 注釋也可以跨行實現&#xff0c;如: /*這是一個 跨行注釋*/ 注意:在編寫UDF的過程中&…

java 畫磚塊,鋼筆畫入門:教你畫磚塊

說到磚塊很多朋友會想到搬磚&#xff0c;繪畫吧今天要教大家用鋼筆畫一塊磚&#xff0c;因為畫建筑的時候經常要畫磚墻&#xff0c;我們先從簡單的磚塊學起&#xff0c;之后繪畫吧會給大家分享畫一面磚墻的哦。繪制要點&#xff1a;本教程的主體物選擇了一塊有小殘缺面的磚頭。…

[轉] Node.js的線程和進程

[From] http://www.admin10000.com/document/4196.html 前言 很多Node.js初學者都會有這樣的疑惑&#xff0c;Node.js到底是單線程的還是多線程的&#xff1f;通過本章的學習&#xff0c;能夠讓讀者較為清晰的理解Node.js對于單/多線程的關系和支持情況。同時本章還將列舉一些讓…

第三方支付異步通知的陷阱

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 https://blog.csdn.net/j16421881/article/details/78703792 用戶下單后調用第三方支付付款&#xff0c;然后接收第三方支付的異步通知&#xff0c;以便確認支付是否成功。 如下圖 但異步通知可能…

js請求php文件 302,采集某個 url, js 請求 200,瀏覽器訪問 302

/** 文件名: sso.js* 描述: 提供對 CAS 單點登錄的封裝** 功能說明&#xff1a;* 實現多個應用之間的單點登錄( SSO )功能&#xff0c;應用可以部署在不同的域名。容器的退出直接寫在頭里&#xff0c;避免 JS 過多加載** 版本: 1.0.0.1* 作者: [email protected]* 日期&#xf…

Jetty 類載入問題處理

前幾日使用 Jetty (9.2)部署公司一個 web 項目,這個項目原本部署在 Tomcat server上,一切正常,可是部署到 Jetty 后,啟動報錯.關鍵錯誤信息為"java.lang.NoClassDefFoundError: Could not initialize class org.apache.tomcat.jdbc.pool.DataSource" 項目使用了 Tomc…

2.3 萬 Star,Nginx 可視化配置工具

你好&#xff0c;這里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;實用的工具或組件&#xff0c;希望對您有用&#xff01;對于前后端開發工程師來說&#xff0c; Nginx 是必須掌握的工具&#xff0c;因為它不僅僅是一個 Web Server&#xff0c;還包含了其他…

城市智慧停車系統方案的產品設計體系介紹

最近幾年隨著大數據技術快速發展與應用&#xff0c;智慧城市隨即被正式提出。而且&#xff0c;我們也可以深刻感受到“智慧”正在慢慢改變我們的生活方式和城市。要讓城市變智慧的地方太多太多&#xff0c;當前我們接觸做多的可能就是外出停車&#xff0c;比如很多商場的停車系…

vue.js:利用vue.js做一個抽獎小游戲

MVVM模式是什么&#xff1a;MModel(模型)&#xff0c;VView&#xff08;視圖&#xff09;,VM ViewModel(簡寫成MVVM) . 代碼如下&#xff1a; 運行代碼結果&#xff1a; 1.你沒有中獎&#xff1a; 2.恭喜你&#xff0c;你中獎了&#xff1a; 轉載于:https://www.cnblogs.com/ya…

滾動加載數據 php,無刷新動態加載數據 滾動條加載適合評論等頁面

滾屏加載更多數據,適合評論等頁面本例的數據庫很簡單&#xff0c;一看就明了復制代碼 代碼如下:$querymysql_query("select * from content order by id desc limit 0,10");while ($rowmysql_fetch_array($query)) {?>js文件復制代碼 代碼如下:$(function(){var …

Java之品優購課程講義_day20(5)

資源過濾與變量替換 修改 pom.xml &#xff0c;在 build 節點中添加如下配置 <filters><filter>src/main/resources/filters/db_${env}.properties</filter></filters><resources><resource><directory>src/main/resources</dir…

國際主流固件接口組織UEFI全面支持LoongArch,龍架構已完成上游TianoCore EDK2代碼合并...

2022年9月初&#xff0c;UEFI官方組織在發布的UEFI specification V2.10規范中全面支持了LoongArch64架構以及部分LoongArch32架構。近期&#xff0c;龍芯團隊又完成了LoongArch基礎代碼與UEFI上游TianoCore EDK2的合并&#xff0c;LoongArch進入TianoCore EDK2主分支&#xff…