Tutorial del servidor web incorporado: cómo iniciar el servidor Jersey HTTP incorporado durante el inicio de la aplicación Java

Publicado: 2014-07-01

Hace algún tiempo escribí un tutorial sobre cómo crear un servicio RESTful con Java usando JAX-RS y Jersey. Después de todos los pasos detallados, debe implementar su proyecto en Tomcat Web Server y debería estar bien. Con ese tutorial, debería poder crear simplemente un servicio RESTFul en ~ 20 minutos.

Pero, ¿qué hay de hacerlo en ~5 mins ? Además, a veces es muy difícil configurar Tomcat para su aplicación web.

Hay varias razones:

  1. Es posible que deba hacer que los archivos binarios de Tomcat se copien en el entorno de desarrollo.
  2. Si no tiene todas las configuraciones correctamente configuradas, es posible que su aplicación Tomcat no funcione.
  3. Debe tener que exportar su proyecto como proyecto .war
  4. ¿Qué sucede si no desea implementar su aplicación en Tomcat y ejecutar un archivo .jar simple?
  5. Con el proyecto .jar, ¿cómo iniciará el servidor http? ¿Su aplicación aceptará llamadas REST entrantes?

Extra: ¿Cómo agregar el filtro CORS a su aplicación web de Jersey?

Debe agregar Cross-origin resource sharing a su aplicación Web Jersey. Por favor, siga este tutorial para el mismo:

¿Qué es el uso compartido de recursos de origen cruzado (CORS)? ¿Cómo agregarlo a su servidor web Java Jersey?

Bueno, hay una solución simple. Hay una forma de crear un servidor HTTP muy básico (que solo admita GET/POST) en Java usando solo la API de Java SE, sin escribir código para analizar manualmente las solicitudes HTTP y formatear manualmente las respuestas HTTP.

Usando com.sun.net.httpserver.HttpServer , deberíamos poder lograr todo lo anterior.

Empecemos:

Paso 1:

Cree un nuevo proyecto Java " CrunchifyJerseyEmbeddedHTTPServer ".

Java-Project-CrunchifyJerseyEmbeddedHTTPServer

Paso 2:

Conviértalo a Maven Project. Esto simplificará nuestra vida para agregar dependencias. Siga este tutorial para convertir un proyecto Java existente en un proyecto Maven.

Paso 3:

En este proyecto solo necesitamos una dependencia jersey-server .

Servidor Jersey - Dependencia de Maven

Etapa 4:

Cree JerseyEmbeddedHTTPServerCrunchify.java en el paquete com.crunchify.tutorial .

Paso 5:

Cree su API REST. Cree la clase java CrunchifyAPI.java en el mismo paquete " com.crunchify.tutorial "

Paso 6:

Y eso es. Ahora haga clic derecho en JerseyEmbeddedHTTPServerCrunchify.java y " Run it as Java Application ".

Paso 7:

Validar resultado. Visite esta URL: http://localhost:8085/api y debería ver el resultado en el navegador.

Respuesta del navegador del servidor HTTP de Jersey

Espero que disfrutes este tutorial. ¿Necesitas compartir algún comentario?

Estoy aquí para escuchar. Gracias.