歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

實驗八基于圖形用戶界面的JDBC程序開發(fā).doc

  • 資源ID:6687349       資源大?。?span id="lykxehd" class="font-tahoma">94.50KB        全文頁數(shù):12頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

實驗八基于圖形用戶界面的JDBC程序開發(fā).doc

實驗4基于圖形用戶界面的JDBC程序開發(fā) (2)淮海工學院計算機科學系實驗報告書課程名:_ Java_題 目:_基于圖形用戶界面的JDBC程序開發(fā)班 級:_ _ 學 號:_ _ 姓 名:_ _ _評語:成績: 指導(dǎo)教師: 批閱時間: 年 月 日一、實驗?zāi)康氖炀氝\用GUI標準組件和布局管理器,正確合理地利用常用AWT和Swing組件進行圖形界面的設(shè)計;理解Java的事件處理機制,正確運用Java的事件處理機制及事件委托模型編寫圖形界面組件的事件處理程序;理解Java多線程機制,掌握線程使用方法。理解JDBC的數(shù)據(jù)庫訪問編程原理,正確利用JDBC技術(shù)編寫以數(shù)據(jù)庫應(yīng)用為核心的軟件系統(tǒng),并在設(shè)計中靈活運用之前所學的Java語言面向?qū)ο蟮木幊碳夹g(shù)。二、實驗環(huán)境操作系統(tǒng):windows 2000 或 Window XP集成開發(fā)環(huán)境:JDK1.6及以上版本三、實驗學時 2學時,必做實驗。四、實驗內(nèi)容(1) 進一步熟悉JavaGUI標準組件和布局管理器、正確合理地利用常用AWT和Swing組件進行圖形界面的設(shè)計;理解Java的事件處理機制,正確運用Java的事件處理機制及事件委托模型編寫圖形界面組件的事件處理程序;實踐程序調(diào)試方法、糾錯能力及編程規(guī)范性等;理解JDBC的數(shù)據(jù)庫訪問編程原理,正確利用JDBC技術(shù)編寫以各種數(shù)據(jù)庫應(yīng)用;(2) 按以下各題目具體要求調(diào)試或編寫相關(guān)算法程序五、實驗步驟與結(jié)果1 請按照以下功能要求編寫并調(diào)試相關(guān)程序(1) 請定義一個抽象的“科學圖書”類,其中包含1個公共的抽象方法:圖書介紹;1個屬性為:圖書類別 (字符串類型); (2) 定義一個“計算機圖書”子類(繼承于“科學圖書”類),其中包括2個域:出版社、定價;2個構(gòu)造方法: 一個為無參構(gòu)造方法,在該無參構(gòu)造方法中將“圖書類別”設(shè)置為“計算機圖書”,一個帶2個參數(shù)(出版社、定價);不少于2個成員方法:分別用來查看出版社、修改定價,圖書介紹文字可自編,并編寫輸出計算機圖書全部信息的toString()方法。(3) 編寫一個圖形用戶界面,用來測試能否正確創(chuàng)建計算機圖書類的對象、能否正常調(diào)用其方法,參考界面如下。必須實現(xiàn)的基本功能是:1)單擊圖中的“新增計算機圖書”按鈕,則可顯示出新增的計算機圖書信息(顯示信息的控件不限,用文本域、列表框、表格均可),要求添加的計算機圖書不少于2本,如下圖所示:圖1 運行截圖新增計算機圖書2)單擊圖中的“修改定價”按鈕,可修改其中某本圖書的定價,并在下方顯示出修改后的結(jié)果請按照實驗內(nèi)容具體要求完成相關(guān)設(shè)計與編程,實驗步驟;(1) 程序代碼import java.awt.*;import java.awt.event.*;class CM extends Frame implements ActionListenerCMBook start; /當做鏈表的開頭Panel 操作欄;Label 出版社,定價,顯示;TextField 出版社欄,定價欄;Button 新增計算機圖書,修改定價;TextArea 顯示內(nèi)容;CM()super("計算機圖書類操作圖形用戶界面");start=null;顯示=new Label();顯示內(nèi)容=new TextArea();顯示內(nèi)容.setSize(80,50);新增計算機圖書=new Button("新增計算機圖書");修改定價=new Button("修改定價");新增計算機圖書.addActionListener(this);修改定價.addActionListener(this);操作欄=new Panel();操作欄.setSize(60,5);出版社=new Label("出版社");定價=new Label("定價");出版社欄=new TextField(10);定價欄=new TextField(5);操作欄.add(出版社);操作欄.add(出版社欄);操作欄.add(定價);操作欄.add(定價欄);操作欄.add(新增計算機圖書);操作欄.add(修改定價);setTitle("計算機圖書類操作的圖形界面");add(操作欄,BorderLayout.NORTH);add(顯示內(nèi)容,BorderLayout.CENTER);add(顯示,BorderLayout.SOUTH);setBounds(300,300,500,500);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=新增計算機圖書)String one=出版社欄.getText();String two=定價欄.getText();if(Integer.parseInt(two)<0)顯示.setText("價格不能為負數(shù)");elseCMBook mid=new CMBook(one,Integer.parseInt(two);mid.next=start;start=mid;顯示內(nèi)容.append(mid.toString(); else if(e.getSource()=修改定價)int pricenew;CMBook point;String one,two,three;one=出版社欄.getText();two=定價欄.getText();point=start;while(true)if(point=null)顯示.setText("查找不到該類別");break;if(point.出版社.equals(one)point.定價=Integer.parseInt(two);顯示內(nèi)容.append("價格修改完成"+point.toString();break;elsepoint=point.next;abstract class Book String 圖書類別;abstract String 圖書介紹();class CMBook extends BookCMBook next; /額外增加一個引用String 出版社;int 定價;String 圖書介紹()return "書籍是人類進步的階梯"CMBook()圖書類別="計算機圖書"next=null;CMBook(String 出版社,int 定價)this.出版社=出版社;this.定價=定價;圖書類別="計算機圖書"next=null;String 查看出版社()return 出版社;void 修改定價(int 定價)this.定價=定價;public String toString()return ("類別"+圖書類別+"|出版社"+出版社+"|定價"+定價+"圖書介紹|書籍是人類進步的階梯n");public class Bookcdxpublic static void main(String args)new CM();(2) 相應(yīng)運行結(jié)果2、(選做題) 改正以下程序中出現(xiàn)的錯誤,并進行注釋說明import java.applet.applet;import java.awt.*;public class test extends Applet Label prompt1,prompt2; TextField inputNo1,inputName1 Department MyDept1; void init() prompt1=new Label("請輸入部門的編號:"); inputNo1=new TextField(5); prompt2=new Label("請輸入部門的名稱:"); inputName1=new TextField(5); add(prompt1); add(inputNo1); add(prompt2); add(inputName1); MyDept1=new Department ( ); inputNo1.addAction(this); public paint(graphic g) g.drawstring(MyDept1.toString(),20,100); public void action(ActionEvent e) if(e.getSource=inputNo1) MyDept1.setDeptNo(inputNo1.getText(); else if(e.getSource()=inputName1) MyDept1.m_DeptName=new String(inputName1.getText(); repaint(); return True; final class Department int m_DeptNo=10; static m_DeptName; String getDeptNo() return m_DeptNo; setDeptNo(int newno) if(newno>0) m_DeptNo=newno; return true; else return false; public String toString() return("部門編號:"+getDeptNo()+" " +"部門名稱:" +m_DeptName+" "); 改正:import java.applet.*;/ 引入包import java.awt.*; / 引入包import java.awt.event.*;/分號public class Test extends Applet implements ActionListener / extend錯誤Label prompt1,prompt2; TextField inputNo1,inputName1;/分號 Department MyDept1; public void init() /少public prompt1=new Label("請輸入部門的編號:"); inputNo1=new TextField(5); prompt2=new Label("請輸入部門的名稱:"); inputName1=new TextField(5); add(prompt1); add(inputNo1); add(prompt2); add(inputName1);/添加inputName1 MyDept1=new Department ( ); inputNo1.addActionListener(this);/添加this inputName1.addActionListener(this); this.setVisible(true);/顯示輸出 public void paint(Graphics g)/ 單詞錯誤Graphics g.drawString(MyDept1.toString(),20,100); /drawString public void actionPerformed(ActionEvent e)/action 拼寫錯誤 if(e.getSource()=inputNo1) MyDept1.setDeptNo(Integer.parseInt(inputNo1.getText(); /類型轉(zhuǎn)換成字符 else if(e.getSource()=inputName1)/判斷是相等用= MyDept1.m_DeptName=new String(inputName1.getText(); /repaint(); /return True; /返回為空不需要 class Department /final不需要 int m_DeptNo=10; /分號 String m_DeptName; /類型沒有給出 String getDeptNo() /S return Integer.toString(m_DeptNo); /類型 boolean setDeptNo(int newno)/返回類型沒有給出 if(newno>0) m_DeptNo=newno; return true; else return false; public String toString() /S return("部門編號:"+getDeptNo()+" " +"部門名稱:" +m_DeptName+" "); 3、(選做題) 請按照以下功能要求編寫并調(diào)試相關(guān)程序?qū)嶒瀮?nèi)容:(1) 熟練Tomcat安裝與配置; (2) 熟練servlet部署、三種開發(fā)方式;(3) 練習JDBC連接;(4) 練習基于JDBC與Servlet的數(shù)據(jù)庫查詢、更新(添加、刪除、修改)(一) 實驗步驟:熟悉Tomcat安裝,servlet部署步驟;(1) 依次創(chuàng)建WEB-INF、classes、lib、web.xml等目錄結(jié)構(gòu)(2) 完成相關(guān)Servlet程序并調(diào)試(二) 以繼承HttpServlet方式開發(fā)Servlet,完成基于Servlet的JDBC連接(數(shù)據(jù)庫選擇SQLServer2000以上)和數(shù)據(jù)查詢應(yīng)用。(1) 選擇SQLServer2000數(shù)據(jù)庫,建立Test數(shù)據(jù)庫和相關(guān)users表(字段userid,username,userpass),用戶名111,密碼111;(2) 以繼承HttpServlet方式開發(fā)Servlet,完成以下數(shù)據(jù)庫查詢顯示代碼并調(diào)試相關(guān)結(jié)果。package js.hit;import javax.servlet.http.*;import java.sql.*;import java.io.*;public class DataSel extends HttpServletpublic void doGet(HttpServletRequest req,HttpServletResponse res)try res.setContentType("text/html;charset=gbk");PrintWriter out = res.getWriter();String url = "jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName = test"String user = "111"String password = "111"String sqlsel = "select userid,username,userpass from users"Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Connection cn = DriverManager.getConnection(url,user,password);Statement sm = cn.createStatement();ResultSet rs = sm.executeQuery(sqlsel);while(rs.next()out.println(rs.getString(1)+"");out.println(rs.getString(2)+"");out.println(rs.getString(3)+"");out.println("<br>");rs.close();sm.close();cn.close(); catch (Exception ex) public void doPost(HttpServletRequest req,HttpServletResponse res)this.doGet(req,res);(三) 在上例數(shù)據(jù)庫基礎(chǔ)上,繼續(xù)以繼承HttpServlet方式開發(fā)另一個Servlet,完成基于Servlet的數(shù)據(jù)更新應(yīng)用,參考代碼如下。package js.hit;import javax.servlet.http.*;import java.io.*;import java.sql.*;public class DataUpd extends HttpServlet public void doGet(HttpServletRequest req,HttpServletResponse res)try res.setContentType("text/html;charset =gbk");PrintWriter out = res.getWriter();String url = "jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName = test"String user = "111"String password = "111"String sqlupd = "update users set userpass = 8 where userid = 3" Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Connection cn = DriverManager.getConnection(url,user,password);Statement sm = cn.createStatement();sm.executeUpdate(sqlupd);sm.close();cn.close(); catch (Exception ex) public void doPost(HttpServletRequest req,HttpServletResponse res)this.doGet(req,res);六、實驗分析與體會(1) 請簡述使用JDBC技術(shù)編寫數(shù)據(jù)庫應(yīng)用關(guān)鍵步驟1、裝庫,建庫;2、找到相應(yīng)的數(shù)據(jù)庫連接包,sql、oracle都有對應(yīng)的jar包;2、寫一個類,結(jié)合對應(yīng)的jar包來連接數(shù)據(jù)庫;3、再寫一個類,通過第二步的類用來對數(shù)據(jù)庫操作。

注意事項

本文(實驗八基于圖形用戶界面的JDBC程序開發(fā).doc)為本站會員(w****2)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!