2010-06-08 13 views
5

Sto usando org.apache.http.HttpResponseCome posso creare un HttpResponse manichino vuoto

Voglio creare un resposne manichino vuoto, ho intenzione di usare questo per tornare quando si verificano errori invece di passare indietro nulla .

Ho provato a crearne uno e ho perso dei parametri bizzarri. Qualcuno può dirmi come crearne uno.

+1

* "ha perso di parametri strani" * questo è troppo vago. Hai bisogno di chiarire di più questo. Ricordati: non ignorare gli errori, interpretali. Dicono qualcosa sulla causa. Sai, una volta capita una causa, la soluzione è ovvia. – BalusC

risposta

1

Basta implementare HttpResponse con metodi no-op.

+0

sul mio sistema HttpServletResponse non esiste, solo HttpResponse – jax

+0

oh, si usa http-client. bene, aggiornato. – Bozho

+0

Comunque, l'ho implementato e ci sono molti metodi che devono essere sovrascritti. Va bene solo per lasciare questi vuoti. Quando chiamo HttpEntity entity = response.getEntity(); Non voglio che si verifichi un errore, voglio solo che lo stream sia una stringa vuota – jax

0

In effetti, l'implementazione di un HttpServletResponse sembra un bel po 'di lavoro e dipende dall'attuale implementazione di Servlet.

Penso userei request.getRequestDispatcher("/dummy.html").forward(request, response)

+2

Sta parlando di Apache Commons HttpClient, non dei servlet. http://hc.apache.org/httpcomponents-core/httpcore/apidocs/org/apache/http/HttpResponse.html A proposito, su un servlet sarebbe facile, basta non toccare la risposta. – BalusC

16

A seconda della versione dei Comuni che si sta utilizzando, si potrebbe desiderare di provare DefaultHttpResponseFactory. Questo è il modo in cui la biblioteca crea alcune delle sue risposte internamente in modo che possa o meno servire ai tuoi scopi.

import org.apache.http.HttpStatus; 
import org.apache.http.HttpResponse; 
import org.apache.http.HttpResponseFactory; 
import org.apache.http.HttpVersion; 
import org.apache.http.impl.DefaultHttpResponseFactory; 
import org.apache.http.message.BasicStatusLine; 

HttpResponseFactory factory = new DefaultHttpResponseFactory(); 
HttpResponse response = factory.newHttpResponse(new BasicStatusLine(HttpVersion.HTTP_1_1, HttpStatus.SC_OK, null), null); 
+1

COME AGGIUNGERE DATI NELL'oggetto HttpResponse –

+0

response.setEntity (entità); – Brian

Problemi correlati