客户端applet读写本地串口问题,请高手不吝赐教!!!
dy907 2003-12-10 09:39:01 程序代码简化如下:
package serialportapplet;
import java.io.*;
import java.util.*;
import javax.comm.*;
import java.applet.*;
public class SerialApplet extends Applet{
static CommPortIdentifier portId;
static Enumeration portList;
InputStream inputStream;
SerialPort serialPort;
Thread readThread;
public void init() {
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
if (portId.getName()==null)
System.out.println("Name is null");
else
System.out.println(portId.getName());
}
}
}
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>
HTML Test Page
</title>
</head>
<body>
test.Applet will appear below in a Java enabled browser.<br>
<applet
codebase = ""
code = "serialportapplet.SerialApplet.class"
name = "SerialApplet"
archive = "serialportapplet.jar"
width = "400"
height = "300"
hspace = "0"
vspace = "0"
align = "middle"
>
</applet>
</body>
</html>
已将所需的类打包入serialportapplet.jar中,包括sun提供的读些串口的comm.jar。
开始时总提示访问受限被拒绝的错误,后来按以下步骤作数字签名:
1jar cvf serialportapplet.jar serialportapplet comm javax
2keytool -genkey -keystore serialportapplet.keystore alias serialportkey
3jarsigner -keystore serialportapplet.keystore serialportapplet.jar serialportkey
4keytool -export -keystore serialportapplet.keystore -alias serialportkey -file serialportkey.cer
在客户端
1拷贝认证文件serialportkey.cer 到客户端的c:\program files\javasoft\jre\1.3.0_01\lib\security
2keytool -import -alias serialportkey -file serialportkey.cer -keystore cacerts
3修改策略文件加AllPermission,给signedBy "serialportkey",CodeBase为“http://myIP/*"
但总出现如下错误:
java.lang.NullPointerException:name can't be null