我正在使用jsp和html开发一个网页,其中我需要从连接到正在访问该网页的客户端系统上的设备进行读/写。该设备是一个串行设备,在Windows中作为COM1(例如)连接。我浏览了不同的选项。我发现这符合我的目的。我也开始学习JNLP。我导入了该项目,并根据需要进行了更改。(这个项目使用的是jssc.jar)。我生成了jar(jssc Terminal.jar),并用自己生成的密钥签名。GUI加载正常,但我无法访问客户端机器上的串行端口。这是我的jnlp文件启动。jnlp
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp href="launch.jnlp" spec="1.0+" codebase="http://192.168.1.33:8080/abc"
href="launch.jnlp">
<information>
<title>jSSC-Terminal</title>
<vendor>scream3r</vendor>
<homepage href="scream3r.org"/>
<description>jSSC-Terminal</description>
<description kind="short">jSSC-Terminal</description>
</information>
<update check="background"/>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+"/>
<jar href="jSSC-Terminal.jar" main="true"/>
<jar href="jssc.jar" download="eager"/>
</resources>
<applet-desc height="500" main-class="applet.Main" name="Main" width="700">
<param name="separate_jvm" value="true"/>
<param name="draggable" value="true"/>
</applet-desc>
</jnlp>
这是我的html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jSSC-Terminal</title>
<style type="text/css">
body {
margin-left: 10px;
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
</style>
</head>
<body>
<applet code="applet.Main" archive="http://192.168.1.33:8080/abc/jSSC-Terminal.jar, http://192.168.1.33:8080/amar/lib/jssc.jar" width="700" height="500">
<param name="separate_jvm" value="true"/>
<param name="draggable" value="true"/>
</applet>
</body>
</html>
我已经将所有这些文件放在Tomcat目录中,如下所示
/Tomcat/webapps/abc/launch.jnlp
/Tomcat/webapps/abc/jSSC-Terminal.jar
/Tomcat/webapps/abc/index.html
/Tomcat/webapps/abc/lib/jssc.jar
当作为jnlp运行时,我无法获取串行端口列表。如果可以的话,请帮我解决问题。或者JSP中有其他可用的东西吗。谢谢和问候。
编辑:
终于发现了谢谢你。我替换了我的小程序标签,并包含jnlp位置如下:
<applet code="applet.Main" archive="http://192.168.1.33:8080/abc/jSSC-Terminal.jar, http://192.168.1.33:8080/abc/lib/jssc.jar,"http://192.168.1.33:8080/abc/test.jnlp" width="700" height="500">
<param name="separate_jvm" value="true"/>
<param name="draggable" value="true"/>
</applet>
</body>
您的<applet>
标记没有引用.jnlp文件。您允许访问jnlp文件中的COM端口,但它没有被使用。您必须使用jnlp文件或在<applet>
标记中设置权限。
jssc示例的链接是一个页面,其中显示了如何使用<applet>
标记中的jnlp文件。
我已经完成了您尝试使用Java Webstart应用程序和PureJavaComm库所做的操作。不过,我敢打赌,一旦你获得了正确的权限,你正在做的事情就会奏效。但如果你想看看我是如何设置的,jnlp文件在这里:https://bitminter.com/client/bitminter.jnlp(实时应用程序)