2017-02-21 9 views
0

Ich muss meine JNLP-Anwendung im Browser starten, anstatt sie separat herunterzuladen, wenn die URL & geöffnet wird. Unten ist meine jnlp Datei:Öffnen von JNLP im Browser

<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> 

Ich habe meine JAR-Datei xxx.jar auch. Unten ist meine JSP-Datei. Meine jnlp-Datei ist in Jsp eingebettet und es ist unten.

<!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> 

ich in der Regel meine Anwendung starten die URL http://localhost:7077/ChqPrint/files/cheque_print.jsp verwendet, die meine jnlp Datei als eigenständige Anwendung heruntergeladen.

Jetzt ist die Anforderung, die jnlp innerhalb des Browsers öffnen & sie wollen nicht, dass es separat geöffnet wird. Irgendwelche Ideen zur Umsetzung?

+2

Sie möchten Ihre Anwendung als * Applet * ausführen, anstatt sie über Java Web Start auszuführen. Sie können [Deployment-Anweisungen hierzu] (http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/) noch finden, aber beachten Sie, dass die meisten Browser-Hersteller das für die Ausführung von Java erforderliche Plugin bereits entfernt haben aus Sicherheitsgründen, und dass Oracle [das Java-Plugin] (https://www.java.com/de/download/faq/jdk9_plugin.xml) in der kommenden Version nicht mehr verwenden wird. Kurz gesagt, das Ausführen einer Java-Anwendung in einem Browser wird nicht mehr unterstützt. –

+0

* "Irgendwelche Ideen, wie Sie es implementieren?" * Schritt 1, erfinden Sie eine Zeitmaschine .. Der Tag der eingebetteten Rich-Client-Applets in HTML ist schnell schließend (bereits in vielen Browsern geschlossen). @James_D gab einen Link, hier sind zwei weitere: Siehe [Java Plugin-Unterstützung veraltet] (http://www.gizmodo.com.au/2016/01/rest-in-hell-java-plug-in/) und [ Wechsel zu einem Plugin-freien Web] (https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free). –

+0

@James_D Vielen Dank für Ihre Vorschläge !! Ich ging über die freigegebenen URLs und funktionierte nicht, als ich eine neue HTML-Datei mit den folgenden Inhalten erstellte. Wenn ich die URL auf IE eintrage, leitet es mich um, Java 8 zu installieren. Einmal getan Später, zeigt es leer .Kindly assist. Launch me!

Antwort

2

Insbesondere Abschnitt 5.9.2 Embed the Deployment Descriptor into the Web Page, der die JNLP-Daten in der Webseite einbettet. Dadurch wird some JavaScript in the page generiert, um das Oracle Java-Browser-Plugin aufzurufen, das die Anwendung direkt in den Browser startet (wenn das Oracle Java-Browser-Plug-in in Ihrer Implementierungsumgebung unterstützt wird).

Wie James in Kommentaren erwähnt, die Oracle Java plugin is soon to be deprecated (und wird derzeit entweder nicht unterstützt oder standardmäßig in vielen Browsern deaktiviert). Es wird daher nicht empfohlen, einen Implementierungsmodus (Java Applet oder JavaFX-Anwendung, der in eine HTML-Webseite eingebettet und gerendert wird) zu verwenden, der davon ausgeht, dass ein funktionierendes Oracle Java Plugin vom Anwendungsbenutzer verwendet werden kann.

Wenn Sie eine App möchten, die in einem Browser ausgeführt wird, verwenden Sie browserbasierte Technologien wie HTML5 und Angular oder eine andere Kombination von JavaScript-basierten Bibliotheken, die am Tag beliebt sind (nur meine Meinung).

Verwandte Themen