Домой Учебники по Java и J2EE Учебник по встроенному веб-серверу: как запустить сервер встроенного HTTP-джерси во время запуска...

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

426
0

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

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

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

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

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

Вы должны добавить Cross-origin resource sharing в ваше приложение веб-Джерси. Пожалуйста, следуйте этому руководству для того же: http://crunchify.me/1VIwInK

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

С помощью com.sun.net.httpserver.HttpServer Мы должны быть в состоянии достичь всего вышеперечисленного.

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

Шаг 1:

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

Шаг 2:

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

Шаг 3:

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

Шаг 4:

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

JerseyEmbeddedHTTPServerCrunchify.java

Джава
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
пакет ком . crunchify. учебник ;
Импортировать Java. Ио. IOException ;
Импортировать Java. нетто. InetAddress ;
Импортировать Java. нетто. URI ;
Импортировать Java. нетто. UnknownHostException ;
Импортировать javax. WS. RS. ядро. UriBuilder ;
Импортировать ком . солнце. Джерси. api . контейнер . http-сервер . HttpServerFactory ;
Импортировать ком . солнце. Джерси. api . ядро. PackagesResourceConfig ;
Импортировать ком . солнце. Джерси. api . ядро. ResourceConfig ;
Импортировать ком . солнце. нетто. http-сервер . HttpServer ;
/ **
* @author Crunchify.com
*
* /
@SuppressWarnings ( «ограничение» )
общественности учебный класс JerseyEmbeddedHTTPServerCrunchify {
     общественности статический недействительным main ( Строка [ ] аргументы ) бросает IOException {
         Система. вне. println ( «Запуск встроенного Crunchify в Джерси HTTPServer … / n» ) ;
         HttpServer crunchifyHTTPServer знак равно createHttpServer ( ) ;
         crunchifyHTTPServer . начало ( ) ;
         Система. вне. println ( String . format ( / nJersey Application Server запущен с WADL, доступным в + % sapplication.wadl / n , getCrunchifyURI ( ) ) ) ;
         Система. вне. println ( Успешно запущен Crunchify в Джерси HTTPServer !!! ) ;
     }
         частный статический HttpServer createHttpServer ( ) бросает IOException {
         ResourceConfig crunchifyResourceConfig знак равно новый PackagesResourceConfig ( com.crunchify.tutorial ) ;
         // Этот учебник требуется, а затем включить ниже строки: http://crunchify.me/1VIwInK
         //crunchifyResourceConfig.getContainerResponseFilters().add(CrunchifyCORSFilter.class);
         вернуть HttpServerFactory . создать ( getCrunchifyURI ( ) , crunchifyResourceConfig ) ;
     }
     частный статический URI getCrunchifyURI ( ) {
         вернуть UriBuilder . fromUri ( http: // + crunchifyGetHostName ( ) + / ) . порт ( 8085 ) . build ( ) ;
     }
     частный статический строка crunchifyGetHostName ( ) {
         строка Hostname знак равно localhost ;
         пытаться {
             Hostname знак равно InetAddress . getLocalHost ( ) . getCanonicalHostName ( ) ;
         } ловить ( UnknownHostException е ) {
             эл . printStackTrace ( ) ;
         }
         вернуть hostName ;
     }
}

Шаг 5:

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

CrunchifyAPI.java

Джава
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
пакет ком . crunchify. учебник ;
Импортировать javax. WS. RS. ПОЛУЧИТЬ ;
Импортировать javax. WS. RS. Путь ;
Импортировать javax. WS. RS. Производит ;
Импортировать javax. WS. RS. ядро. MediaType ;
@Path ( API )
общественности учебный класс CrunchifyAPI {
     @ПОЛУЧИТЬ
     @Produces ( MediaType . TEXT_PLAIN )
     общественности строка получить ( ) {
         вернуть / n Это Crunchify REST API через HTTPServer ;
     }
}

Шаг 6:

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

Выход

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Начиная Crunchify встраиваемый Джерси HTTPServer …
30 июня 2014 15:45:26 com.sun.jersey.api.core.PackagesResourceConfig init
ИНФОРМАЦИЯ: Сканирование корневых ресурсов и классов провайдеров в пакетах:
com.crunchify.tutorial
30 июня 2014 15:45:26 com.sun.jersey.api.core.ScanningResourceConfig logClasses
ИНФОРМАЦИЯ: Найдены классы корневых ресурсов:
класс com.crunchify.tutorial.CrunchifyAPI
30 июня 2014 15:45:26 com.sun.jersey.api.core.ScanningResourceConfig init
ИНФОРМАЦИЯ: Классы провайдера не найдены.
30 июня 2014 15:45:27 com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
ИНФОРМАЦИЯ: Инициирование заявки на Джерси, версия ' Джерси : 1.18.1 02/19/2014 03: 28 AM '
Сервер приложений Джерси запущен с WADL, доступным по адресу http: // localhost: 8085 / application.wadl
Начало Crunchify»s Встроенный джерси HTTPServer успешно ! ! !

Шаг 7:

Подтвердить результат. Посетите этот URL: http:// локальный: 8085 / апи и вы должны увидеть результат в браузере.

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

Я здесь, чтобы слушать. Благодарю.

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

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Как избежать исключения в основной теме - java.lang.CloneNotSupportedException

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь