📄 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 + -