从Java applet中读取客户端COMPORT

时间:2013-09-10 10:33:06

标签: java jsp applet

我需要读取客户端comport访问我的基于JSP的Web应用程序。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>COMPORT</title>
    </head>
    <body bgcolor="blue">
        <h1>ACCESSING COMPORT</h1>
        <jsp:plugin align="middle" height="500" width="500" type="applet" archive="" code="SunCommSerialPort.class" name="clock" codebase="."/>
    </body>
</html>

这是我读取COM端口的Java小程序代码。

import java.util.Enumeration;
import javax.comm.CommPortIdentifier;

/** @author Venugopal */
public class COMPORT {

    /** @param args the command line arguments */
    public static void main(String[] args) {
        COMPORT CM = new COMPORT();
        String StrCommPort = CM.GetSerialPort();
        System.out.println("StrCommPort  " + StrCommPort);
    }

    public String GetSerialPort() {
        String Serialport = "";
        Enumeration portList = CommPortIdentifier.getPortIdentifiers();
        while (portList.hasMoreElements()) {
            CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
            if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
                Serialport = Serialport + portId.getName() + "//";
            } else {
                //  ////////////System.out.println(portId.getName());
            }
        }
        if(Serialport !=null && Serialport.length() >0){
            Serialport = Serialport.substring(0, Serialport.length() - 2);
        }
        return Serialport;

    }
}

请告诉我们该怎么做。我已将所有必要的文件保存在正确的位置。 我保留的Java代码在我修改了扩展applet并使用init()方法删除PSVM之后工作。

1 个答案:

答案 0 :(得分:0)

您需要授予applet权限,有几种方法可以实现。应该有一个堆栈跟踪告诉你更多。

我有点惊讶你可以签署一个小程序但不理解这个例子,无论如何你的jsp applet标签

<PARAM NAME="MAYSCRIPT" VALUE="true">

制作一个javascript函数,例如

myfunc(comport){
    //do stuff
}

中的小程序

JSObject.getWindow(this).call("myfunc",comport);

JSObject.getWindow(this).eval("myfunc("+comport+")");

还有DOMService,但我从来没有使用它,它更类型,但你的javascript方法不会在那里