2010-06-08 25 views
5

Tôi đang sử dụng org.apache.http.HttpResponseLàm thế nào tôi có thể tạo ra một HttpResponse giả rỗng

Tôi muốn tạo ra một resposne giả trống rỗng, tôi sẽ sử dụng này để trả lại khi lỗi xảy ra thay vì đi qua trở lại null .

Tôi đã cố gắng tạo một tài khoản và nó đã mất các tham số lạ. Ai đó có thể cho tôi biết làm thế nào để tạo ra một.

+1

* "nó đã mất các tham số lạ" * điều này quá mơ hồ. Bạn cần làm rõ điều này hơn. Lưu ý: đừng bỏ qua lỗi, diễn giải chúng. Họ nói điều gì đó về nguyên nhân. Bạn biết đấy, một khi nguyên nhân được hiểu, giải pháp là hiển nhiên. – BalusC

Trả lời

1

Chỉ cần triển khai HttpResponse với các phương thức không có phương thức.

+0

trên hệ thống của tôi HttpServletResponse không tồn tại, chỉ HttpResponse – jax

+0

oh, bạn sử dụng http-client. tốt, cập nhật. – Bozho

+0

Dù sao, tôi thực hiện nó và có rất nhiều phương pháp cần phải được ghi đè. Có được không nếu chỉ để trống. Khi tôi gọi thực thể HttpEntity = response.getEntity(); Tôi không muốn một lỗi xảy ra, tôi chỉ muốn dòng là một chuỗi rỗng – jax

0

Thật vậy, việc triển khai một HttpServletResponse có vẻ khá nhiều công việc và bạn sẽ phụ thuộc vào việc triển khai Servlet thực tế.

tôi nghĩ rằng tôi muốn sử dụng request.getRequestDispatcher("/dummy.html").forward(request, response)

+2

Anh ấy đang nói về Apache Commons HttpClient, không phải về servlet. http://hc.apache.org/httpcomponents-core/httpcore/apidocs/org/apache/http/HttpResponse.html Bằng cách này, trên một servlet nó sẽ dễ dàng, chỉ cần không chạm vào phản hồi. – BalusC

16

Tùy thuộc vào những gì phiên bản của commons bạn đang sử dụng, bạn có thể muốn thử DefaultHttpResponseFactory. Đây là cách mà thư viện tạo ra một số phản hồi của nó trong nội bộ để nó có thể hoặc có thể không phục vụ cho mục đích của bạn.

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

CÁCH THÊM DỮ LIỆU TRONG Đối tượng HttpResponse –

+0

response.setEntity (thực thể); – Brian

Các vấn đề liên quan