Учебное пособие по Java Web Start (Jnlp)
Вот краткое объяснение Java Web Start от SUN
«Java Web Start - это механизм доставки программ через стандартный веб-сервер. Обычно инициируемые через браузер, эти программы развертываются на клиенте и выполняются за пределами браузера. После развертывания программы не нужно загружать повторно, и они могут автоматически загружать обновления при запуске, не требуя от пользователя повторного выполнения всего процесса установки ».
В этом руководстве показано, как создать файл Java Web Start (Jnlp) для загрузки пользователем. Когда пользователь щелкает загруженный файл jnlp, запускает простую программу AWT. Вот краткие инструкции:
-
Создайте простую программу AWT и запишите ее как TestJnlp.jar
-
Добавить хранилище ключей в TestJnlp.jar
-
Создайте файл Jnlp
-
Поместите все в папку Tomcat
-
Доступ к TestJnlp.jar из Интернета черезhttp://localhost:8080/Test.Jnlp
Хорошо, давайте начнем
1. Установите JDk и Tomcat
Установите Java JDK / JRE версии выше 1.5 и Tomcat.
3. AWT + Jnlp
Посмотрите содержимоеTestJnlp.java
, это простая программа AWT с поддержкой AWT.
package com.example; import java.awt.*; import javax.swing.*; import java.net.*; import javax.jnlp.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class TestJnlp { static BasicService basicService = null; public static void main(String args[]) { JFrame frame = new JFrame("Mkyong Jnlp UnOfficial Guide"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel(); Container content = frame.getContentPane(); content.add(label, BorderLayout.CENTER); String message = "Jnln Hello Word"; label.setText(message); try { basicService = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService"); } catch (UnavailableServiceException e) { System.err.println("Lookup failed: " + e); } JButton button = new JButton("/"); ActionListener listener = new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { try { URL url = new URL(actionEvent.getActionCommand()); basicService.showDocument(url); } catch (MalformedURLException ignored) { } } }; button.addActionListener(listener); content.add(button, BorderLayout.SOUTH); frame.pack(); frame.show(); } }
P.S If “import javax.jnlp.;” is not found, please include jnlp library which located at *JRE/lib/javaws.jar.
4. Jar It
Найдите папку классов Java и заполните ее с помощью следующей команды в командной строке
jar -cf TestJnlp.jar *.*
Это упакует все классы Java в новый файл jar с именем «TestJnlp.jar».
5. Создать хранилище ключей
Добавьте новое хранилище ключей с именем «testkeys».
keytool -genkey -keystore testKeys -alias jdc
Он запросит пароль хранилища ключей, имя, фамилию, подразделение организации и т. Д., Просто заполните их все.
6. Назначьте хранилище ключей файлу Jar
Прикрепил новое хранилище ключей «testkeys» к вашему файлу «TestJnlp.jar»
jarsigner -keystore testKeys TestJnlp.jar jdc
Он запросит пароль для вашего вновь созданного хранилища ключей.
7. Разверните JAR it
Скопируйте свой «TestJnlp.jar» в папку веб-сервера Tomcat по умолчанию, например, в Windows -C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT.
8. Создать файл JNLP
Создайте новый файлTest.jnlp, подобный этому
Jnlp Testing YONG MOOK KIM Testing Testing
9. Развернуть файл JNLP
СкопируйтеTest.jnlp также в папку веб-сервера по умолчанию для tomcat.
C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT
11. Попробуй это
Получите доступ к URLhttp://localhost:8080/Test.jnlp, он предложит вам загрузить файлTest.jnlp, просто примите его и дважды щелкните по нему.
Если все прошло нормально, вы должны увидеть следующий результат
Нажмите кнопку «запустить», чтобы запустить программу AWT.
Note
Если jnlp не отвечает, помещает следующие коды в ваш web.xml, который находится в папке Tomcat conf.
jnlp application/x-java-jnlp-file