2017-02-21 20 views
0

Мне нужно запустить приложение JNLP в браузере, а не загружать отдельно, когда URL-адрес предоставляется &, открывая его. Ниже представлен мой файл jnlp:Открытие JNLP в браузере

<jnlp spec="1.0+" codebase="http://localhost:7077/ChqPrint/files/" href="JNLP_print.jnlp"> 
    <information> 
     <title>Jnlp Testing</title> 
     <vendor>xxx</vendor> 
     <homepage href="http://localhost:7077/ChqPrint/files/" /> 
     <description>Testing </description> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 
    <resources> 
     <j2se version="1.7+" /> 
     <jar href="resources/xxx.jar" main="true" /> 
     </resources> 
    <application-desc main-class="com.scb.app.LaunchApplication" /> 
    <update check="background"/> 
</jnlp> 

У меня есть файл jar xxx.jar. Ниже приведен файл jsp. Мой файл jnlp встроен в jsp, и он ниже.

<!DOCTYPE html> 
<?xml version="1.0" encoding="utf-8"?> 
<jnlp spec="1.0+" codebase="http://localhost:7077/ChqPrint/files/" href="cheque_print.jsp"> 
    <information> 
     <title>Jnlp Testing</title> 
     <vendor>xxx</vendor> 
     <homepage href="http://localhost:7077/ChqPrint/files/" /> 
     <description>Testing </description> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 
    <resources> 
     <j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se"/> 
     <jar href="resources/xxx.jar" main="true" /> 
     <!-- <jar href="resources/lib/jfxrt.jar" /> --> 
    </resources> 
    <application-desc main-class="com.scb.app.LaunchApplication"> 
     <argument><%=session.getId()%></argument> 
     <argument><%=request.getServerName()%></argument>  
    </application-desc> 
</jnlp> 

Я обычно запустить мое приложение с помощью URL http://localhost:7077/ChqPrint/files/cheque_print.jsp который скачивает мой файл JNLP как отдельное приложение.

Теперь необходимо открыть jnlp в браузере &, они не хотят, чтобы он был открыт отдельно. Любые идеи о том, как его реализовать?

+2

Вы запрашиваете запуск приложения в виде * апплета * вместо его запуска через Java Web Start. Вы все еще можете найти [инструкции по развертыванию для этого] (http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/), но обратите внимание, что большинство поставщиков браузеров уже удалили плагин, необходимый для запуска Java по соображениям безопасности, и что Oracle будет [обесценить плагин Java] (https://www.java.com/en/download/faq/jdk9_plugin.xml) в предстоящей версии. Короче говоря, запуск приложения Java в браузере больше не поддерживается. –

+0

* «Любые идеи о том, как его реализовать?» * Шаг 1, придумайте машину времени. День встроенных насыщенных клиентских апплетов в HTML быстро закрывается (уже закрыт во многих браузерах). @James_D дал одну ссылку, вот еще две: см. [Поддержка плагинов Java устарела] (http://www.gizmodo.com.au/2016/01/rest-in-hell-java-plug-in/) и [ Переход к бесплатному веб-сайту) (https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free). –

+0

@James_D Большое спасибо за ваши предложения! Я просмотрел общий URL и не работал, когда создал новый html-файл с содержимым ниже. Когда я ввожу URL-адрес в IE, он перенаправляет меня на установку Java 8. По завершении Позже он показывает пустое. <Тип скрипта = "текст/JavaScript" SRC = "https://java.com/js/dtjava.js"> Launch me!

ответ

2

В частности, посмотрите раздел 5.9.2 Embed the Deployment Descriptor into the Web Page, в который вставляются данные JNLP на веб-страницу. Это создаст some JavaScript in the page, чтобы вызвать плагин браузера Oracle Java, который запустит приложение непосредственно в браузере (если плагин браузера Oracle Java поддерживается в вашей среде развертывания).

Как упоминал Джеймс в комментариях, Oracle Java plugin is soon to be deprecated (и в настоящее время он либо не поддерживается, либо отключен по умолчанию во многих браузерах). Поэтому не рекомендуется использовать режим развертывания (приложение Java Applet или приложение JavaFX, внедренное и отображаемое на веб-странице HTML), предполагающее, что рабочий пользовательский плагин Oracle Java может использоваться пользователем приложения.

Если вы хотите, чтобы приложение работало в браузере, используйте технологии, основанные на браузере, такие как HTML5 и Angular или некоторые другие комбо-библиотеки JavaScript, которые популярны в день (только на мой взгляд).