Я хочу написать простое тестовое приложение P2P , которое использует HTTP как
базовый протокол.
Приложение должно решить по требованию , если оно должно
выступать в роли HTTP-сервера или HTTP-клиента .
Классический способ, который мне известен, - это развертывание приложения на
некоторые существующие HTTP-сервер. Но это неправильный путь для моего намерения.
Должно быть иначе: сервер запускается приложением (и только
если решит).
Есть ли способ выполнить серверную часть HTTP по требованию
(без развертывания самого приложения на сервере)?
Можно ли сделать это, связав библиотеки Glassfish или Tomcat?
и вызвать какой-нибудь "основной" метод?
Редактировать: ЭТО РАБОТАЕТ !!!
Я сейчас попробовал Jetty вместе с JAX-RS (Джерси) успешно!
Спасибо всем.
(класс REST тривиален и опущен)
пакет my.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();
}
}