Antwort weiterleiten

Status
Nicht offen für weitere Antworten.

Robson

Aktives Mitglied
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.
Code:
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

Top Contributor
So:

Code:
//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>);
 

Robson

Aktives Mitglied
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

Top Contributor
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)...

Code:
//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

Aktives Mitglied
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 ?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
karambara weiterleiten zu url (nicht auf dem eigenen server) Allgemeines EE 1

Ähnliche Java Themen

Neue Themen


Oben