Apache tomcat
¿Existe una manera de crear un servidor HTTP muy básico (que sólo soporte GET/POST) en Java utilizando sólo la API de Java SE, sin escribir código para analizar manualmente las peticiones HTTP y formatear manualmente las respuestas HTTP? La API de Java SE encapsula muy bien la funcionalidad del cliente HTTP en HttpURLConnection, pero ¿existe un análogo para la funcionalidad del servidor HTTP?
Para que quede claro, el problema que tengo con muchos de los ejemplos de ServerSocket que he visto en Internet es que hacen su propio análisis de solicitudes/formateo de respuestas y manejo de errores, lo cual es tedioso, propenso a errores, y no es probable que sea completo, y estoy tratando de evitarlo por esas razones.
Desde Java SE 6, hay un servidor HTTP incorporado en Sun Oracle JRE. El nombre del módulo de Java 9 es jdk.httpserver. El resumen del paquete com.sun.net.httpserver describe las clases implicadas y contiene ejemplos.
(a toda la gente que intente editarlo a pesar de todo, porque es un trozo de código feo, por favor no lo hagáis, esto es un copy paste, no es mío, además nunca se deben editar las citas a no ser que hayan cambiado en la fuente original)
Glassfish
Vamos a descubrir cuáles son las mejores opciones de código abierto que ofrecen una experiencia de desarrollo perfecta. También hablaremos de sus ventajas y de cómo pueden ayudarle a diseñar todo tipo de aplicaciones impecables.
Los servidores de aplicaciones Java EE le ayudan y respaldan en la implementación de la plataforma Java EE APIS. Aparte de los servicios estándar, también le ayudan con los datos de la aplicación y los sirven a los clientes. Es igual que el que sirve páginas web a los navegadores.
Este tipo funciona como una interfaz entre la funcionalidad de nivel inferior disponible en la plataforma y el componente. La plataforma define esencialmente la funcionalidad del contenedor, que puede variar según el tipo de componente.
Con su ayuda, los servidores web pueden interactuar con los componentes web. Así, como interfaz entre ambos, un contenedor web gestiona el envío de solicitudes de componentes de aplicación, el ciclo de vida de los componentes y actúa como interfaz para el contexto de datos. Por ejemplo, puede proporcionar información sobre las solicitudes actuales.
Servidor web Abyss
¿Quieres implementar un servidor HTTP, pero no quieres arriesgarte a escribir un servidor HTTP completo? Desarrollar un servidor HTTP con plena capacidad no es una tarea trivial. Pero Java tiene una solución para este tipo de problemas. Java soporta un servidor HTTP incorporado. Con sólo escribir 100 líneas de código, podemos desarrollar un servidor HTTP algo decente que pueda manejar peticiones HTTP GET y POST. También podemos aprovecharlo para manejar otros comandos HTTP.
Cuando un servidor acepta una petición de un cliente, esta petición primero será puesta en cola por el sistema operativo. Después, se le dará al servidor para que procese la petición. Todas estas peticiones simultáneas serán puestas en cola por el sistema operativo. Sin embargo, el sistema operativo decidirá cuántas de estas peticiones pueden ser puestas en cola en un momento dado. Este valor representa el registro posterior. En nuestro ejemplo, este valor es 0, lo que significa que no ponemos en cola ninguna petición.
Creamos un contexto llamado, test. Esto no es más que el contexto raíz de la aplicación. El segundo parámetro es una instancia de handler, que manejará las peticiones HTTP. Veremos esta clase en breve.
Wampserver
Un servidor Http está vinculado a una dirección IP y un número de puerto y escucha las solicitudes entrantes y devuelve las respuestas a los clientes. El servidor http simple es flexible para ser añadido en proyectos complejos para renderizar elementos Html o servir como servidor backend, o incluso desplegado en el lado del cliente para manejar dispositivos específicos. Si estás buscando una solución para crear un servidor HTTP simple que pueda ser fácilmente incrustado en tus proyectos y procesar peticiones web limitadas, este consejo satisface tu necesidad.
Los HttpHandlers se asocian al servidor http para procesar las peticiones. Cada HttpHandler se registra con una ruta de contexto que representa la ubicación del servicio en este servidor. Las solicitudes de una ruta URI definida se asignan al manejador http adecuado. Cualquier solicitud para la que no se pueda encontrar un manejador es rechazada con una respuesta 404.
Andy Feng es un analista/desarrollador de software con sede en Toronto, Canadá. Tiene más de 9 años de experiencia en el diseño y desarrollo de software. Está especializado en soluciones Java/J2EE y .Net, centrándose en Spring, Hibernate, JavaFX, ASP.NET MVC, Entity framework, servicios web, JQuery, SQL y tecnologías relacionadas.