2011-01-22 42 views
5

Tôi đang viết một ứng dụng cần có khả năng xử lý các yêu cầu HTTP từ một nguồn bên ngoài (trong trường hợp này, nó thực sự là một tập lệnh từ Second Life). Tôi bắt đầu bằng cách sử dụng HTTPComponents by Apache, hoạt động tuyệt vời miễn là máy chủ Java chỉ phải trả lời các yêu cầu GET. Bây giờ nó cần để có thể nhận dữ liệu từ cơ thể của các yêu cầu POST, và tôi không thấy bất kỳ cách nào để làm như vậy với HTTPComponents. Có một thư viện cấp trên để sử dụng cho điều này?Thư viện máy chủ HTTP Java

Tôi đã tìm thấy thông qua một số Googling rằng có một basic HTTP server được bao gồm trong các gói mặt trời. Với mục đích của ứng dụng này, nó có thể được yêu cầu rằng nó chỉ chạy trên một thực thi Sun/Oracle JVM thực tế - nhưng đó vẫn là một mùi mã với tôi, và tôi có lẽ chỉ làm như vậy nếu tùy chọn duy nhất là viết thư viện máy chủ HTTP của riêng từ đầu, làm việc từ ổ cắm và như vậy. Bất kỳ đề xuất cho một thay thế?

Trả lời

2

Sử dụng Apache Tomcat. Đó là máy chủ web Java chuẩn.

+1

+1 - Vâng, tại sao không? Hoặc Jetty - nó cũng khá nhẹ. Tại sao viết bất cứ điều gì? – duffymo

+1

Tôi không xem xét Tomcat hay Jetty vì ứng dụng không thực sự phục vụ các trang HTML chuẩn hoặc bất kỳ thứ gì tương tự - nó chỉ tận dụng thực tế là các tập lệnh Second Life có thể thực hiện các yêu cầu HTTP. Đó là một RMI bị hack cùng nhau, nếu có. –

+4

Tomcat và Jetty là các động cơ servlet; servlet là các trình lắng nghe * HTTP *. HTML phải làm gì với nó? – duffymo