iexplore-Programmaufruf aus Java-Applet

BeZag

Grünschnabel
Hallo zusammen,

Ich habe eine kleines Problem. Ich muss mehrere Internet Explorer (später auch mit Parametern) als Java-Applet starten. Hintergrund ist der das ich ein Anmeldeportal für eine Anwendung programmiert habe. Wenn der User seine Daten ins Anmeldeportal eingegeben hat sollen sich n-Sitzungen der Anwendung öffnen. Dazu verwendete ich bisher Javascript window.open(...); Leider führte dies dazu das die Anwendung die ihrerseits selbst ein Applet lädt nur in einem iexplore-Prozess läuft, d.h. ist eine der n-Sitzungen aktiv gilt dies für alle, also hat das mehrfache Öffnen keinen Sinn.

Nun also mein Lösungsansatz, anstatt n-Mal das Javascript Statement auszuführen möchte ich nun einen Applet öffnen das n Internetexplorer startet. Ich fand dazu auch hier schon einen guten Beitrag: dieser. Dieser funktioniert auch als alleinstehendes Java - jedoch nicht als Applet was jetzt genau mein Problem ist. Nachstehend mein Code.

Ich hoffe ihr könnt mir helfen! Besten Dank im Voraus!

Code:
import java.awt.*;
import java.applet.*;
import java.io.IOException; 


public class javatest
extends Applet
{

public static void main(String[] args) {        try 
{            
	Runtime.getRuntime().exec("C:\\Programme\\Internet Explorer\\iexplore.exe http://addresse1.firma.de?para=1");        
	Runtime.getRuntime().exec("C:\\Programme\\Internet Explorer\\iexplore.exe http://addresse1.firma.de?para=2");        


} catch (IOException e) {                  e.printStackTrace();        }    }

}

Einbindung:
HTML:
<html>
	<head>
		<title>Web - Portal</title>
	</head>
	<body>
	
	
		<p>
			<APPLET CODE = "javatest.class" WIDTH = "640" HEIGHT = "200" ALT = "opener_as">
			Hier sollte ein Applet stehen.
			</APPLET>
		</p>
	</body>
</html>

In der Konsole ist leider auch nichts weiter zu finden. Zumindest ist sie leer...
 
Zuletzt bearbeitet:
Applets laufen in einer sogenannten Sandbox. Dabei wird der Securitymanager von Java aktiviert. Der erlaubt nicht das Ausführen von kritischen Anweisungen wie Dateizugriffe, öffenen von Ports, starten von Threads und natürlich nicht das Starten von Prozessen auf dem Client. Ich denke, dass ist das Problem. Wenn ich recht habe, müsste irgendwo eine SecurityException fliegen.

Man kann das konfigurieren, ist aber nicht trivial und würde sicher diesen Beitrag sprengen. Funktioniert auch nur, wenn Du auf dem Client Zugriff auf die Sicherheitseinstellungen hast, was Du im WEB eh vergessen kannst.

Grüße
 
Zurück