2015-10-03 5 views
0

Я создал программу java, которая входит в игровой сервер и запрашивает у пользователя идентификатор ввода, а затем отправляет упаковщик на игровой сервер и анализирует и распечатывает ответ.Проект преобразования Java в проект войны

Мне нужно преобразовать это в API, который будет работать на Tomcat, я предполагаю? Я установил Tomcat на свой сервер, но я не уверен, что делать сейчас, и каким будет правильный способ его конвертировать.

Любая помощь была бы принята с благодарностью.

ответ

0

Я делал подобные вещи в прошлом. Главным образом превратить обычные приложения в веб-приложения. Или, проще говоря, обернуть приложение внутри веб-приложения 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.

Надеюсь, это поможет вам начать работу.

Смежные вопросы