Java:走HTTPサーバーからの要求に対し私たします。
質問
たい書 簡単なP2P 試験アプリを利用しHTTPとして
元プロトコルです。
このアプリを 決需要, すべ
法として HTTPサーバ, している HTTPア.
クラシック方法を知っているしい展開のアプリケーション 一部の 既存の HTTPサーバーです。この方向を間違えると思います。その他の方法:サーバの開始により、アプリケーションソフだけ れば必然的に決まってしまいます。
があるので、実行のHTTPサーバ部 需要 (仕組みを導入し、アプリ自体のサーバー)?
よろしくお願いいたしますリンクGlassfishやTomcat図書館 やが"本体"の方法は?
編集:す!!!
ようにした 桟橋 緒 JAX-RS(Jersey) 大成功!
ございます。
(残りのクラスは自明であるが、左側)
パッケージ。p2p;
import com.sun.jersey.spi.container.servlet.*;
import org.mortbay.jetty.*;
import org.mortbay.jetty.servlet.*;
public class Main {
public static void main(String[] args)
throws Exception {
ServletHolder holder = new ServletHolder(ServletContainer.class);
holder.setInitParameter("com.sun.jersey.config.property.resourceConfigClass",
"com.sun.jersey.api.core.PackagesResourceConfig");
holder.setInitParameter("com.sun.jersey.config.property.packages", "my.p2p.rest");
Server server = new Server(8000);
Context context = new Context(server, "/", Context.SESSIONS);
context.addServlet(holder, "/*");
server.start();
}
}
解決
使 桟橋 その他ヤHTTPサーバーです。から突堤のウェブサイト:
桟橋がオープンソースプロジェクトを提供するHTTPサーバのHTTPクライアントとjavax.servletコンテナ.これらの100%javaの部品は完全な基準に基づく、フットプリント、ヤ、非同期および企業ラブル。桟橋はデュアルライセンス製品のApache2.0のライセンスおよび/またはEclipse Public License1.0です。桟橋が無料となり商業利用分布の条件に基づいずれかのライセンスを持つスタッフです。
他のヒント
横にその他の回答もあり NanoHTTPD.その非常に小さく、一クラスともとは自分がすべきことなのだとい場合youtる必要がなりだしたいものは軽微であります。
の restlet プロジェクト.そのサヤ,ドサーバとクライアントの両方のJava APIでの均一なインターフェイス)
Glassfish、TomcatにはサーブレットAPIではいずれ失わせないアイテムです。私0.02$:)
編集
お客様
Client client = new Client(Protocol.HTTP);
client.get("http://127.0.0.1").getEntity().write(System.out);
サーバー
Restlet sayHello = new Restlet() {
@Override
public void handle(Request request, Response response) {
response.setEntity("Hello World!", MediaType.TEXT_PLAIN);
}
};
new Server(Protocol.HTTP, 80, sayHello).start();
Java6を含む内蔵webサーバです。使用できるように:
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
server.createContext("/", new HttpHandler() {
@Override
public void handle(HttpExchange xchange) throws IOException {
String response = "This is the response";
xchange.sendResponseHeaders(200, response.length());
OutputStream os = xchange.getResponseBody();
os.write(response.getBytes());
os.close();
}
});
server.setExecutor(null);
server.start();
そしてアクセス http://localhost:8000 おに応じます。
あまり例のJavaDocを 利パッケージ
できない場合は保証Java6これらを実現するために、 埋め込み桟橋6 やすいとかなりlightwight、必要な全設