Доступ к COM-порту на стороне клиента в веб-программировании Java
Я разрабатываю веб-страницу с использованием jsp и html, где мне нужно для чтения / записи с / на устройство, подключенное к системе клиента, которые получают доступ к веб-странице. Устройство - это последовательное устройство, которое в Windows подключено как COM1(например). Я прошел через различные доступные варианты. Я нашел это, которое служит моей цели. Я начал изучать JNLP для того же самого. Я импортировал проект и внес изменения в соответствии с моими потребностями. (Этот проект использует jssc.jar). Я сгенерировал банку (jSSC-Terminal.jar) и подписал самогенерируемым ключом. Графический интерфейс загружается правильно, но я не могу получить доступ к последовательному порту на компьютере клиента. Вот мой файл запуска 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
Я не могу получить список SerialPort при запуске от имени 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>
1 ответ
Ваш <applet>
тег не ссылается на файл.jnlp. Вы предоставляете доступ к COM-портам в файле jnlp, но он не используется. Вы должны либо использовать файл jnlp, либо установить разрешения в <applet>
тег.
Ваша ссылка на пример jssc - это страница, которая показывает, как использовать файл jnlp из <applet>
тег.
Я сделал то, что вы пытаетесь сделать с помощью приложения Java Webstart и библиотеки PureJavaComm. Могу поспорить, что то, что вы делаете, сработает, как только вы получите правильные разрешения. Но если вы хотите посмотреть, как я это настрою, файл jnlp находится здесь: https://bitminter.com/client/bitminter.jnlp (живое приложение)