我想编写一个使用 HTTP 作为底层协议的简单 P2P测试应用程序。
应用程序必须根据需要决定是充当HTTP 服务器还是充当HTTP 客户端。
我知道的经典方法是将应用程序部署在一些现有的HTTP 服务器上。但这对我的意图来说是错误的。它必须是另一种方式:服务器由应用程序启动(并且只有当它决定时)。
有没有办法按需执行 HTTP 服务器部分 (无需在服务器上部署应用程序本身)?
我可以通过链接 Glassfish 或 Tomcat 库并调用一些“主要”方法来做到这一点吗?
编辑:它工作!
我现在成功地尝试了Jetty和JAX-RS (Jersey)!
谢谢你们。
(REST 类是微不足道的,被忽略了)
包我的.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();
}
}