Я делал подобные вещи в прошлом. Главным образом превратить обычные приложения в веб-приложения. Или, проще говоря, обернуть приложение внутри веб-приложения Servlet, чтобы его можно было контролировать с помощью HTTP API.
Кстати, есть несколько способов сделать это. Многие на самом деле. Это один из способов. Сервлеты - это интерфейс Java, который позволяет разработчикам быстро создавать сервер, в основном HTTP-сервер, хотя он не ограничивается только этим. Tomcat - контейнер Servlet. Это означает, что вы можете создать сервлет, а затем зарегистрировать его в контейнере Servlet, используя специальный файл с именем web.xml или аннотации. В приведенном ниже примере я использую аннотацию WebServlet для регистрации моего сервлета с Tomcat. После регистрации Tomcat отправит любые запросы, предназначенные для вашего приложения (имя файла WAR), и к определенному Servlet (зарегистрированным urlPatterns, см. Пример ниже). Поэтому, если ваш файл WAR имеет имя «MyWebServer», и ваш сервлет зарегистрировал urlPattern «getSomething», тогда любые запросы Tomcat с URL MyWebServer/getSomething будут направлены на вашу команду doGet или doPost Servelet. Если вы выполняете простой запрос браузера (или завиток в Linux) без тела msg, то по умолчанию его запрос HTTP GET. Придерживайтесь запросов GET, пока не получите их.
Несколько вещей, которые вам понадобятся.
1) Узнайте, как упаковать приложение Java в файл WAR. Файл WAR затем перейдет в папку Webapp Tomcat. Когда Tomcat запускается, он распаковывает файлы WAR в этом каталоге и размещает веб-приложение, реализованное в этом файле WAR. Пожалуйста, прочитайте файлы WAR. Самый простой способ сделать это - использовать вашу среду IDE, я предпочитаю Netbeans и нажимаю на новый проект. В Netbeans вы можете выбрать новый проект Maven-> Web Application -or- Java-> Web Application. Он настроит структуру каталогов.
2) Вам понадобится сервлет. Создайте Servet, пожалуйста, прочтите его. Еще раз ваша IDE облегчит вам задачу. В Servlet 3.x вы можете настроить сервлет, используя аннотации. Ваш сервлет действительно будет HttpServet. Вот простой пример: вам нужно будет найти различные компоненты (например, HttpServletRequest и HttpServletResponse), чтобы получить исчерпывающую информацию. У Stackoverflow есть сокровищница информации о том, как эти два работают.
@WebServlet(name = "MyWebServer", urlPatterns = {"/getSomething", "/postSomething"}, loadOnStartup = 1)
public class MyWebServer extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//Get the input to your web service from the HttpServletRequest.
String someParam = request.getParameter("someParamName");
//process your request
String output = yourExistingClass.processSomething(someParam);
//set the response
try (PrintWriter out = response.getWriter()) {
out.println(output);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
///////////////////////////////////////////////////////////////////////////
//public functions
@Override
public void init() {
//put any code you want executed when the application comes up in here.
}
@Override
public void destroy() {
//put any code you want executed when the application comes down in here.
}
}
3) Вам необходимо будет включить JAR в ваше приложение. Еще раз ваша IDE может помочь вам добавить JAR в свой проект. Ваш JAR и любые другие JAR-устройства зависимостей будут упакованы внутри вашей WAR, особенно внутри папки WEB-INF/lib.
Надеюсь, это поможет вам начать работу.