Esercitazione sul server Web incorporato: come avviare il server Jersey HTTP incorporato durante l'avvio dell'applicazione Java

Pubblicato: 2014-07-01

Qualche tempo fa ho scritto un tutorial su Come creare un servizio RESTful con Java usando JAX-RS e Jersey. Dopo tutti i passaggi dettagliati devi distribuire il tuo progetto su Tomcat Web Server e dovresti essere tutto a posto. Con quel tutorial dovresti essere in grado di creare semplicemente il servizio RESTFul in ~ 20 minuti.

Ma che ne dici di farlo in ~5 mins ? Inoltre, a volte è molto difficile configurare Tomcat per la tua applicazione web.

Ci sono una serie di ragioni:

  1. Potrebbe essere necessario che i binari di Tomcat vengano copiati nell'ambiente di sviluppo.
  2. Se non hai tutte le impostazioni configurate correttamente, l'applicazione Tomcat potrebbe non funzionare.
  3. Devi esportare il tuo progetto come progetto .war
  4. Cosa succede se non desideri distribuire la tua applicazione su Tomcat ed eseguire un semplice .jar?
  5. Con il progetto .jar, come avvierai il server http? La tua applicazione accetterà le chiamate REST in arrivo?

Extra: come aggiungere il filtro CORS alla tua applicazione Web Jersey?

È necessario aggiungere Cross-origin resource sharing all'applicazione Web Jersey. Si prega di seguire questo tutorial per lo stesso:

Che cos'è la condivisione delle risorse tra origine (CORS) - Come aggiungerla al server Web Java Jersey?

Bene, c'è una soluzione semplice. Esiste un modo per creare un server HTTP molto semplice (che supporta solo GET/POST) in Java utilizzando solo l'API Java SE, senza scrivere codice per analizzare manualmente le richieste HTTP e formattare manualmente le risposte HTTP.

Utilizzando com.sun.net.httpserver.HttpServer , dovremmo essere in grado di ottenere tutto quanto sopra.

Iniziamo:

Passo 1:

Crea un nuovo progetto Java " CrunchifyJerseyEmbeddedHTTPServer ".

Java-Project-CrunchifyJerseyEmbeddedHTTPServer

Passo 2:

Convertilo in Maven Project. Questo semplificherà la nostra vita per l'aggiunta di dipendenze. Segui questo tutorial per convertire il progetto Java esistente in progetto Maven.

Passaggio 3:

In questo progetto abbiamo solo bisogno di una dipendenza jersey-server .

Jersey Server - Dipendenza da Maven

Passaggio 4:

Crea JerseyEmbeddedHTTPServerCrunchify.java nel pacchetto com.crunchify.tutorial .

Passaggio 5:

Crea la tua API REST. Crea la classe java CrunchifyAPI.java stesso pacchetto " com.crunchify.tutorial "

Passaggio 6:

E questo è tutto. Ora fai clic con il pulsante destro del mouse su JerseyEmbeddedHTTPServerCrunchify.java e " Run it as Java Application ".

Passaggio 7:

Convalida risultato. Visita questo URL: http://localhost:8085/api e dovresti vedere il risultato sul browser.

Risposta del browser del server HTTP Jersey

Spero che questo tutorial ti piaccia. Hai bisogno di condividere qualsiasi commento?

Sono qui per ascoltare. Grazie.