有没有懂rmi的呀?
我用applet中使用rmi方法,applet代码如下:
//Applet1.java//
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.sql.*;
import java.rmi.*;
import java.rmi.server.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class Applet1 extends Applet {
float pro_color_r=0.5f;
float pro_color_g=0.2f;
float pro_color_b=0.6f;
int pro_panel_no=1;
int pro_hand_no=1;
String pro_no="clock_p1_h1";
float pro_price=2;
int pro_num=5;
private boolean isStandalone = false;
private Button button1 = new Button();
//Construct the applet
public Applet1() {
}
//Initialize the applet
public void init() {
button1.setLabel("submit");
this.add(button1, null);
}
///////////////////////////
public boolean action(Event event,Object what)
{
if(event.target instanceof Button)
{
Button b=(Button)event.target;
if(b.getLabel()=="submit")
{
/*AddOrder(pro_color_r,pro_color_g,pro_color_b,pro_panel_no,
pro_hand_no,pro_no,pro_price,pro_num);*/
AddOrder();
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
return true;
}
////////////////////
/*public void AddOrder(float pro_color_r,float pro_color_g,float pro_color_b,int pro_panel_no,
int pro_hand_no,String pro_no,float pro_price,int pro_num)
{
try{
String strSQL="INSERT INTO pro_tb(pro_color_r,pro_color_g,pro_color_b,pro_panel_no,pro_hand_no,pro_no,pro_price,pro_num,userid) VALUES('"
+pro_color_r+"','"+pro_color_g+"','"+pro_color_b+"','"+pro_panel_no+"','"+pro_hand_no+"','"+pro_no+"','"+pro_price+"','"+pro_num+"','1')";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection
("JDBC:ODBC:virpro","sa","hotlip");
Statement stmt = conn.createStatement();
stmt.executeUpdate(strSQL);
}catch(Exception ex){ex.printStackTrace();}
}*/
public void AddOrder()
{
try {
String url = "//localhost:8808/SERVER";
//////////////////////////////////////////////////////////////////
RmiInterface RmiObject = (RmiInterface)Naming.lookup(url);
//////////////////////////////////////////////////////////////////////
RmiObject.AddOrder_Clock(0.1f,0.2f,0.5f,1,1,"clock_p1_h1",7.0f,8);
System.out.println(" 1 + 2 = " + RmiObject.sum(1,2) );
} catch (RemoteException exc) {
System.out.println("Error in lookup: " + exc.toString());
} catch (java.net.MalformedURLException exc) {
System.out.println("Malformed URL: " + exc.toString());
} catch (java.rmi.NotBoundException exc) {
System.out.println("NotBound: " + exc.toString());
}
}
}
Applet1.html代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>
HTML Test Page
</title>
</head>
<body>
untitled1.Applet1 will appear below in a Java enabled browser.<br>
<applet
codebase = "."
code = "Applet1.class"
name = "TestApplet"
width = "400"
height = "300"
hspace = "0"
vspace = "0"
align = "middle"
>
</applet>
</body>
</html>
用命令appletviewer Applet1.html程序可执行
如用ie浏览Applet1.html不行