?? rmistuserver.java
字號:
// RMI服務器程序
// 文件名:RmiStuServer.java
import java.sql.*;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
public class RmiStuServer extends UnicastRemoteObject implements RmiStuInfa {
Connection m_con; // 數據庫鏈接
PreparedStatement m_ps;
// JDBC驅動程序
static String driver = "org.gjt.mm.mysql.Driver";
static String url = "jdbc:mysql://127.0.0.1:3306/jxgl";
static String user = "sb";
static String password = "songbo";
// 在構造函數中完成數據庫查詢
public RmiStuServer(Connection con) throws RemoteException,SQLException {
super();
m_con=con;
String sql="SELECT s_no,s_name,class_no FROM student "+"WHERE s_no=?";
m_ps=con.prepareStatement(sql);
}
// 實現遠程接口,返回數據庫查詢結果集
public StudentData getStudentData(String s_no) throws RemoteException,SQLException {
StudentData data=null;
System.out.println("學生的學號:"+s_no);
m_ps.setString(1,s_no); // 設置學生學號
ResultSet rs=m_ps.executeQuery(); // 執行查詢
if(rs.next()) { // 得到查詢結果集
data=new StudentData();
data.s_no=rs.getString(1);
data.s_name=rs.getString(2);
data.class_no=rs.getString(3);
}
rs.close(); // 關閉結果集
return data; // 返回序列化對象
}
public static void main(String args[]) {
try {
Class.forName(driver); // 加載JDBC驅動程序
// 創建一個新的JDBC連接
Connection con = DriverManager.getConnection(url,user,password);
// 創建一個服務器對象的實例
RmiStuServer stu=new RmiStuServer(con);
// 注冊服務程序,將對象RmiRemoteObj綁定到RMI名字空間
Naming.rebind("rmi://127.0.0.1:1099/RmiRemoteObj",stu);
System.out.println("RMI服務器正在運行......");
System.out.println("按CTRL+C中斷!");
}
catch(Exception e) {
System.out.println("RMI不能連接......: "+e);
System.exit(-1);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -