# Antwort weiterleiten



## Robson (27. Sep 2004)

Also ich habe ein Servlet das folgende Funktionen erfüllt

Man kann eine "POST" Nachricht auf mein Servelt schicken dieses Servlet Erzeugt einen neuen Post Request und Sendet die Nachricht an einen Server.

Nun möchte ich die Antwort des Servers als antwort zu dem Rechner schicken, der als erstes den POST Request auf mein Servelt geschickt hat.

Nur weiss ich nicht so recht wie und wo ich da anfangen soll.

```
HttpURLConnection connection = null;
		URL url;
		try {
			url = new URL(dconnection, dhost, dport, durl3);
			connection = (HttpURLConnection) url.openConnection();
			connection.setRequestMethod("POST");
			connection.setDoOutput(true);

			PrintStream out = new PrintStream(connection.getOutputStream());
			out.println(result);
			out.flush();
			out.close();
			
			System.out.println("### Doorlock Servlet Process ###");
			
			BufferedReader br = new BufferedReader(new InputStreamReader(
					connection.getInputStream()));
			String buffer = null;
			while ((buffer = br.readLine()) != null) {
				System.out.println(">>>" + buffer);
			}

			br.close();

		} catch (MalformedURLException e7) {
			e7.printStackTrace();
		} catch (IOException e7) {
			e7.printStackTrace();
```

so erzeuge ich den Post Rquest zum server .
Ich hoffe ich konnte mein Problem halbwegs verständlich schildern  :wink:


----------



## meez (27. Sep 2004)

So: 


```
//InputStream vom PostRequest
InputStream in= connection.getInputStream();

//ServletoutputStream
OutputStream out = repsone.getOutputStream();

byte[] buffer = new byte[1024];
for (int n;(n = in.read(buffer)) != -1);out.write(buffer, 0, n));
```

Eventuell kannst du noch den Typ setzten
response.setContentType(<typ>);


----------



## P3AC3MAK3R (27. Sep 2004)

Verschoben: Enterprise Java


----------



## Robson (27. Sep 2004)

hmm erstmal danke ...
aber bei mir meldet er bei der klammer immer den fehler ";expected"

byte[] buffer = new byte[1024]; 
for (int n;(n = in.read(buffer)) != -1*)*;out.write(buffer, 0, n));

und wenn du mir noch kurz beschreiben könntest was genau wo passiert bei deinem Code Beispiel wäre ich dir sehr dankbar  :roll: [/b]


----------



## meez (27. Sep 2004)

War noch ein Fehler drin (Klammer zuviel)

Was das Teil macht? 
Es liest vom InputStream ein Stückchen (1024 Byte), und schreibt sie in den Puffer..Danach wird 
der Puffer wieder gelesen, und alles darin auf den OutputStream geschrieben...
Danach werden die nächsetn 1024 Byte gelesen und so weiter, bis nichts mehr auf dem InputStream ankommt (-1)...


```
//InputStream vom PostRequest
InputStream in= connection.getInputStream();

//ServletoutputStream
OutputStream out = repsone.getOutputStream();

byte[] buffer = new byte[1024];
for (int n;(n = in.read(buffer)) != -1;out.write(buffer, 0, n));
```


----------



## Robson (28. Sep 2004)

also ich habe jetzt ne Message in einer String Variablen .

Diese möchte ich nun einfach als Response an denjenigen senden, der ein Post Request auf mein Servlet schickt.

kann man da nicht einfach response(buffer); oder sowas ähnliches machen ?


----------



## Robson (28. Sep 2004)

ok geht alls supi ! Danke


----------

