Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe folgendes Problem:

Ich habe eine HTML-Seite über die ich ein jar-File ausführen möchte.

Zur Zeit führe ich das jar noch in der Konsole aus mit

" java -jar test.jar"

Wie kann ich das ganze über einen Link in HTML starten???

Danke an alle die sich Gedanken machen.

DonBertone;)

Geschrieben

Soweit ich weiß geht so was gar nicht mit HTML. Das ist auch nur gut so, sonst könnte man sich vor Viren und der gleichen Getier nicht mehr retten.

Wo soll den diese *.jar Datei gestartet werden? Auf den Server oder auf dem Client. Oder willst du nur ein HTML File haben welches dir das Tippen in der Konsole erspart? Dann geht das auch über eine Batchdatei.

Geschrieben

Das ganze soll auf dem Server gestartet werden.

Ich versuche jetzt das ganze als Applet zu starten.

<applet archive="test.jar" codebase="/test" width=... height...></applet

Mal sehen!!!

Danke für die antworten!!!

Geschrieben
Wie kann ich das ganze über einen Link in HTML starten???
Wie schon zur Sprache gekommen ist: Gar nicht.

Eine Alternative wäre ein Applet (was, sofern du Filezugriff oder ähnliches durchführen willst erst signiert werden muss, der Browser gibt dennoch teilweise unschöne Meldungen aus, die das ganze als nicht besonders vertrauenswürdig erscheinen lassen).

http://java.sun.com/applets/

Oder aber über Webstart - sauber und elegant.

http://java.sun.com/products/javawebstart/

Das ganze soll auf dem Server gestartet werden.

Ich versuche jetzt das ganze als Applet zu starten.

Das ist ein Widerspruch in sich: Ein Applet wird im Kontext des Client ausgeführt - nicht auf dem Server! Vom Server werden lediglich die Klassen geladen - die ausführende VM befindet sich - im Falles eines Applets - im Kontext des Webbrowsers, also beim Client.
Geschrieben

Argh..

über Java WebStart (JWS) erstellst du einen Link zu ner sogenannten .jnlp-Datei. Diese wird von deinem lokalen WebStart-Client "geöffnet".

Dann, schnell gesagt, wird die neuste Versiona auf dem Server gesucht, alles wird auf den Client gezogen und gestartet.

Andere möglichkeit ist das Applet, wie schon 10x geschrieben.

Nachteil ist aber die Sicherheit. Dateizugriffe u.s.w. sind nur sehr bedingt möglich.

Geschrieben
Also zusammenfassend kann man sagen das es nicht möglich ist die Java-Anwendung die in ein JAR-File gepackt ist auf dem Server über ein HTML-Link oder was auch immer zu starten.
Nein, zusammenfassend kann man das so nicht sagen.

Du kannst den Webserver so konfiguieren, dass beim Aufruf von http://foo.bar/foobar.html automatisch ein Skript bzw. ein Systembefehl ausgeführt wird, der wiederrum eine Java Applikation mit dem Classpath der übergebenen JAR-Datei starten und eine Main-Klasse aufruft.

als Servlet z.B. so:

Der Deployment Descriptor:


<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">


  <servlet>

    <servlet-name>foo</servlet-name>

    <servlet-class>foo.bar.FooBarServlet</servlet-class>

  </servlet>


  <servlet-mapping>

    <servlet-name>foo</servlet-name>

    <url-pattern>/*</url-pattern>

  </servlet-mapping>


</web-app>  

Und das dazugehörige Servlet:

package foo.bar;


import java.io.IOException;


import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServlet;


public class FooBarServlet extends HttpServlet {


  public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {


    String[] commandArray                   = new String[] {

      "/usr/local/java/bin/java",

      "-jar",

      "/home/foo/test.jar"

    };


    ProcessBuilder processBuilder           = new ProcessBuilder(commandArray);

    Process process                         = processBuilder.start();


  }


}

Zugegeben: Sehr von hinten durch die Brust ins Auge, aber funktionieren tuts :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...