實驗八基于圖形用戶界面的JDBC程序開發(fā).doc
《實驗八基于圖形用戶界面的JDBC程序開發(fā).doc》由會員分享,可在線閱讀,更多相關(guān)《實驗八基于圖形用戶界面的JDBC程序開發(fā).doc(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
實驗4基于圖形用戶界面的JDBC程序開發(fā) (2)淮海工學(xué)院計算機科學(xué)系實驗報告書課程名:_ Java_題 目:_基于圖形用戶界面的JDBC程序開發(fā)班 級:_ _ 學(xué) 號:_ _ 姓 名:_ _ _評語:成績: 指導(dǎo)教師: 批閱時間: 年 月 日一、實驗?zāi)康氖炀氝\用GUI標(biāo)準(zhǔn)組件和布局管理器,正確合理地利用常用AWT和Swing組件進行圖形界面的設(shè)計;理解Java的事件處理機制,正確運用Java的事件處理機制及事件委托模型編寫圖形界面組件的事件處理程序;理解Java多線程機制,掌握線程使用方法。理解JDBC的數(shù)據(jù)庫訪問編程原理,正確利用JDBC技術(shù)編寫以數(shù)據(jù)庫應(yīng)用為核心的軟件系統(tǒng),并在設(shè)計中靈活運用之前所學(xué)的Java語言面向?qū)ο蟮木幊碳夹g(shù)。二、實驗環(huán)境操作系統(tǒng):windows 2000 或 Window XP集成開發(fā)環(huán)境:JDK1.6及以上版本三、實驗學(xué)時 2學(xué)時,必做實驗。四、實驗內(nèi)容(1) 進一步熟悉JavaGUI標(biāo)準(zhǔn)組件和布局管理器、正確合理地利用常用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) 請定義一個抽象的“科學(xué)圖書”類,其中包含1個公共的抽象方法:圖書介紹;1個屬性為:圖書類別 (字符串類型); (2) 定義一個“計算機圖書”子類(繼承于“科學(xué)圖書”類),其中包括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; /當(dāng)做鏈表的開頭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) 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(newno0) 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) 練習(xí)JDBC連接;(4) 練習(xí)基于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();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ù)庫操作。- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 實驗 基于 圖形 用戶界面 JDBC 程序 開發(fā)
鏈接地址:http://m.italysoccerbets.com/p-6687349.html