Учебное пособие по встроенному веб-серверу: как запустить встроенный сервер HTTP Jersey во время запуска приложения Java

Опубликовано: 2014-07-01

Некоторое время назад я написал учебник о том, как создать службу RESTful с Java, используя JAX-RS и Джерси. После всех подробных шагов вы должны развернуть свой проект на Tomcat Web Server , и все должно быть хорошо. С помощью этого руководства вы сможете просто создать службу RESTFul примерно за 20 минут.

Но как насчет того, чтобы сделать это за ~5 mins ? Также иногда очень сложно настроить Tomcat для вашего веб-приложения.

Есть ряд причин:

  1. Возможно, вам потребуется скопировать двоичные файлы Tomcat в среду разработки.
  2. Если у вас не все настройки настроены правильно, ваше приложение Tomcat может не работать.
  3. Вы должны экспортировать свой проект как проект .war
  4. Что делать, если вы не хотите развертывать свое приложение на Tomcat и запускать простой .jar?
  5. С проектом .jar — как вы запустите http-сервер? Будет ли ваше приложение принимать входящий вызов REST?

Дополнительно: как добавить фильтр CORS в ваше веб-приложение на Джерси?

Вы должны добавить Cross-origin resource sharing в свое приложение Web Jersey. Пожалуйста, следуйте этому руководству для того же:

Что такое совместное использование ресурсов между источниками (CORS) — как добавить его на веб-сервер Java Jersey?

Что ж, есть простое решение. Существует способ создать очень простой HTTP-сервер (поддерживающий только GET/POST) на Java, используя только Java SE API, без написания кода для ручного анализа HTTP-запросов и ручного форматирования HTTP-ответов.

Используя com.sun.net.httpserver.HttpServer , мы сможем добиться всего вышеперечисленного.

Давайте начнем:

Шаг 1:

Создайте новый Java-проект « CrunchifyJerseyEmbeddedHTTPServer ».

Java-проект-CrunchifyJerseyEmbeddedHTTPServer

Шаг 2:

Преобразуйте его в проект Maven. Это упростит нам жизнь для добавления зависимостей. Пожалуйста, следуйте этому руководству, чтобы преобразовать существующий проект Java в проект Maven.

Шаг 3:

В этом проекте нам нужна только одна зависимость jersey-server .

Сервер Джерси — зависимость Maven

Шаг 4:

Создайте JerseyEmbeddedHTTPServerCrunchify.java в пакете com.crunchify.tutorial .

Шаг 5:

Создайте свой REST API. Создайте класс Java CrunchifyAPI.java в том же пакете « com.crunchify.tutorial ».

Шаг 6:

Вот и все. Теперь щелкните правой кнопкой мыши JerseyEmbeddedHTTPServerCrunchify.java и « Run it as Java Application ».

Шаг 7:

Подтвердить результат. Посетите этот URL-адрес: http://localhost:8085/api , и вы должны увидеть результат в браузере.

Ответ браузера HTTP-сервера Джерси

Надеюсь, вам понравится этот урок. Нужно поделиться каким-либо комментарием?

Я здесь, чтобы слушать. Спасибо.