DonBertone Geschrieben 3. November 2005 Geschrieben 3. November 2005 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;) Zitieren
geloescht_JesterDay Geschrieben 3. November 2005 Geschrieben 3. November 2005 Wie kann ich das ganze über einen Link in HTML starten??? Indem du das ganze als Applet schreibst? Nur mal so als Idee... Zitieren
ksg9-sebastian Geschrieben 3. November 2005 Geschrieben 3. November 2005 über ne html seite gar net.. entweder über Java WebStart (http://java.sun.com/), gibts genügend Docus; oder das ganze als Applet schreiben und dann mittels <applet codebase...> in die HTML-Seite einbinden Zitieren
Schiller256 Geschrieben 3. November 2005 Geschrieben 3. November 2005 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. Zitieren
DonBertone Geschrieben 3. November 2005 Autor Geschrieben 3. November 2005 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!!! Zitieren
perdian Geschrieben 3. November 2005 Geschrieben 3. November 2005 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. Zitieren
DonBertone Geschrieben 3. November 2005 Autor Geschrieben 3. November 2005 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. Zitieren
ksg9-sebastian Geschrieben 3. November 2005 Geschrieben 3. November 2005 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. Zitieren
perdian Geschrieben 3. November 2005 Geschrieben 3. November 2005 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 Zitieren
Empfohlene Beiträge
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.