2012-08-03 15 views
7

Tengo curiosidad por cómo implementar un pequeño programa de servidor en Java SE?Java SE - un pequeño programa de servidor web

El programa está escuchando en el puerto 80 y listo para recuperar un objeto InputStream, pero ¿hay alguna función que pueda usar para convertir un InputStream en un objeto HttpRequest (algo así como Servlet)?

Después de eso, ¿cómo puedo crear un objeto HttpResponse y enviar los datos de vuelta al navegador?

En conclusión, solo estoy buscando cualquier marco que pueda ayudarme a analizar el formato HTTP en un objeto, o desde un objeto en una secuencia de respuesta HTTP.

(sé Java EE será la mejor solución, sólo quiero probar algo en Java SE)

+0

Si desea entender lo que ese marco haría detrás de las escenas, Google para la estructura de HTTP. O más bien, deje que un navegador realice una solicitud e intente imprimir el contenido de la transmisión que tiene en Java. – SuperSaiyan

Respuesta

8

Mire no más lejos que Jetty en este caso. Está escrito exactamente para ese propósito: integrar un servidor HTTP en su aplicación. Pero probablemente no obtendrá un objeto HttpRequest, pero tal vez algo similar que se adapte a sus necesidades.

2

Un contenedor servlet muy liviano, que es muy adecuado para embedding, es Winstone.

+0

parece bastante muerto con la última actualización alrededor de 2008 – jderda

+0

@jderda: AFAIK todavía está siendo utilizado activamente por [Jenkins] (http://jenkins-ci.org/) al menos. –

0

Si está buscando algo muy ligero y flexible, es posible que desee mirar a Netty

https://netty.io/Documentation/WebHome

Personalmente me pareció un poco difícil para empezar con, pero una vez que el INI obstáculo de prueba fue superado fue bastante poderoso.

Cuestiones relacionadas