天天看點

java實驗指導書實驗46_《java程式設計》實驗指導書(完整)

XX學院java實驗報告

{ }

class Communnion extends Thread { {

}

//有客戶請求到來則産生一個Socket對象,并繼續執行 System.out.println(\);

out=new DataOutputStream(sock.getOutputStream()); //由Socket對象得到輸入流,并構造相應的DataOutputStream對象 in=new DataInputStream(sock.getInputStream()); out.writeUTF(\你連接配接伺服器成功\); // 給客戶回報資訊

Communnion th=new Communnion(this); //建立與用戶端互動的線程

//由socket對象得到輸出流,并構造DataInputStream對象

th.start(); // 啟動線程 }catch(Exception e){}

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e)

out.writeUTF(\); //退出時告訴用戶端 }catch(Exception ee){} dispose(); System.exit(0);

{ try{

} });

public void actionPerformed(ActionEvent e)

String n = t2.getText(); try { }

out.writeUTF(n); t2.setText(\);

// TODO 自動生成 catch 塊 e1.printStackTrace();

} catch (IOException e1) {

}

public static void main(String agrs[]) throws IOException

{ Server mainFrame=new Server(); }

Server fp;

Communnion(Server fp)

this.fp=fp;

45

XX學院java實驗報告

{ {

} try{

fp.out.close(); //關閉socket輸出流 fp.in.close(); //關閉socket輸入流 fp.sock.close(); //關閉socket }catch(Exception ee){break; }

try{

msg = fp.in.readUTF(); if(msg!=null){ }

fp.t1.append(msg+\);

String msg=null; while(true) }

public void run()

fp.serverSock.close(); //關閉ServerSocket }catch(Exception ee){}

} }

三、實驗要求:

1、事先預習,寫出預習報告 2、上機驗證後寫出實驗報告

實驗十六 資料庫設計

一、實驗目的

1.了解JDBC的功能及體系結構;

2.掌握利用JDBC實作資料庫的查詢更新等操作的方法; 3.掌握基本的Java資料庫程式設計。 二、實驗内容

案例 成績查詢系統分析

設計一個小程式可以實作各種單科考試、競賽等成績的各種查詢。将操作與圖形使用者界面相結合,則很容易實作績查詢系統。程式包括三個類,除了主程式及窗體程式外,資料庫連接配接的功能單獨由一個類來完成。程式主界面如圖1所示。當輸入考号後點選按考生查詢按鈕,則顯示該生成績如圖2所示。

46

XX學院java實驗報告

圖1 成績查詢系統界面 圖2 按照考号查詢成

點選“成績名次”按鈕可以檢視考試排名如圖3所示。點選“未通過名單”按鈕可以檢視學生不及格的情況如圖4所示。

圖3 查詢成績名次 圖4 查詢未通過名單

在上面的案例架構中,我們需要利用JDBC連接配接資料庫進行通路。 試嘗試實作此功能,補全代碼。 1.資料庫連接配接類: import java.sql.*;

public class DbConnect //靜态方法提高資料庫的連接配接 { } }

2.窗體程式: import java.awt.*; import javax.swing.*; import java.sql.*;

import java.awt.event.*;

public class ScoreInquirementFrame extends JFrame implements ActionListener {

JPanel contentPane;

47

XX學院java實驗報告

Connection con; Statement st;

JSplitPane jSplitPane1 = new JSplitPane();

BorderLayout borderLayout1 = new BorderLayout(); JPanel jPanel1 = new JPanel();

JScrollPane jScrollPane1 = new JScrollPane(); JTextArea jTextArea1 = new JTextArea(); JLabel jLabel1 = new JLabel(\考号\

JButton jButton1 = new JButton(\成績名次\ JButton jButton2 = new JButton(\未通過名單\ JTextField jTextField1 = new JTextField();

JButton jButton3 = new JButton(\按考生查詢\ //構造方法

public ScoreInquirementFrame() {

}/進行視窗的初始化

private void jbInit() throws Exception {

contentPane = (JPanel) getContentPane(); contentPane.setLayout(borderLayout1); setSize(new Dimension(400, 300)); setTitle(\成績查詢系統\ con=DbConnect.getConn(); st=con.createStatement();

jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT); jPanel1.setLayout(null);

jLabel1.setBounds(new Rectangle(24, 15, 49, 25)); jButton1.setBounds(new Rectangle(79, 58, 181, 29)); jButton1.addActionListener(this);

jButton2.setBounds(new Rectangle(80, 100, 178, 28)); jButton2.addActionListener(this);

jTextField1.setBounds(new Rectangle(79, 15, 180, 25)); jButton3.setBounds(new Rectangle(268, 15, 96, 24)); jButton3.addActionListener(this);

contentPane.add(jSplitPane1, java.awt.BorderLayout.CENTER); jSplitPane1.add(jPanel1, JSplitPane.TOP); jPanel1.add(jButton1); jPanel1.add(jButton2); jPanel1.add(jTextField1); jPanel1.add(jButton3); jPanel1.add(jLabel1);

jSplitPane1.add(jScrollPane1, JSplitPane.BOTTOM);

48