# redirect in neuem Fenster?



## Wyvern (22. Jun 2007)

Hi. 

Ich muß bei einer Struts Homepage einen HTTP GET request an eine komplett andere Seite abschicken. Ich darf aber meine Seite dazu nicht verlassen. Wie kann ich sowas machen? Kann ich das mit nem neuen Fenster machen? Oder muß ich dazu eine neue Seite mit den Daten in hidden feldern und einem extra Formular (mit target="new") erstellen? 

Jemand ne Idee?


----------



## Wyvern (22. Jun 2007)

Vielleicht etwas abenteuerlich meine Idee: 

Ist es möglich ein zweites verstecktes Formular auf der selben Seite zu machen? Beim abschicken des ersten Formulars (<html:form.... ) werden die Daten bei mir gespeichert, und das zweite Formular (<form ... ) gefüllt. Und das wird auch gleich abgeschickt? 

Ich glaub, das geht net. Verdammt!


----------



## Gast (22. Jun 2007)

Hier hilft wohl nur Javascript. Damit Fenster öffnen mit eigenem Request, im alten Fenster zweiten Request absetzen.

Serverseitig geht nix, außer wiederrum eine Antwort zu generieren, die auf dem Client per JS ein Fenster öffnet.


----------



## WeirdAl (22. Jun 2007)

Hi,
sind die zwei Seiten innerhalb eines Projekts? Oder liegen die zwei Seiten auf verschiedenen Server bzw. was macht die andere Seite mit den Daten?

Du kannst Dir mal ServletFilter ansehen. Evtl. kannst Du damit bei einem eingehenden Request die Daten zu der zweiten Seite weiterschleifen. Wenn die zweite Seite "eh" unsichtbar sein soll, willst Du vielleicht sowieso nur die Daten verarbeiten und nichts anzeigen.

Cu
Alex


----------



## Wyvern (25. Jun 2007)

Ich muß einen Request vom User verarbeiten, und dem User auf meiner Seite ne Antwort schicken. 
Gleichzeitig muß ich aber Serverseitig quasi als eigener Client einem anderen Server (nicht bei mir) einen GET request schicken. Einfach nur schicken. Ich muß nicht mal zwingend ne Antwort abwarten.


----------



## WeirdAl (25. Jun 2007)

Google mal nach RequestDispatcher + Servlet. Bzw hier ein Link dazu. Das müsste dir weiterhelfen.

Cu
Alex


----------



## Wyvern (28. Jun 2007)

Hab nen andere Lösungsansatz (der hoffentlich auch irgendwann funzt)


```
String target = "http://app.communicatorcorp.com/TriggerWebService/TriggerService.asmx/DataImport";
			target += "?clientId="+username+"&password="+password+"&xmlData="+xml;
			
			try{
				URL url = new URL(target);
		        	HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
		        
		        	httpConn.setRequestMethod("GET");
		        	httpConn.setDoOutput(true);
		        	httpConn.setDoInput(true);
		        	httpConn.setUseCaches(false);
		        
		        	if (httpConn.getResponseCode() != HttpURLConnection.HTTP_OK) {
		        		System.out.println(httpConn.getResponseMessage());
		        		System.out.println(httpConn.getResponseCode());
		        	}
		        	httpConn.disconnect();
		        } catch(Exception m) {
		        	m.printStackTrace();
	        	}
```

Wenn ich das, was in target steht in nem Browser abschicke, dann bekomm ich ein 200 HTTP_OK. (Hab ich mit Live HTTP Headers gecheckt)
Wennich allerdings meine Action laufen lasse, dann bekomm ich immer 400 HTTP_BAD_REQUEST. Woran könnte das liegen?


----------



## Wyvern (28. Jun 2007)

Wenn ich ein httpConn.getInputStream() einbaue, um den Request abzuschicken, dann bekomm ich ebenfalls ein 400 BAD REQUEST auf die Console, weil dann die IOException anspringt. 

Ohne httpConn.getInputStream() kommt nu meine System.out. ausgabe BAD REQUEST 400. 

Ich hab keine Ahnung mehr.


----------



## Wyvern (2. Jul 2007)

Kann mir keiner sagen, was ich da falsch mache?


----------

