Creación de un servidor web / contenedor de servlet en Java - de pie sobre los hombros de los gigantes

StackOverflow https://stackoverflow.com/questions/5338675

Pregunta

En primer lugar: quiero decir que este es principalmente un ejercicio personal. Hay muchos contenedores y servidores (Tomcat, Jetty, Winstone) que satisfacen las necesidades del mercado.

El otro día me encontré con el Akka El proyecto y, habiéndose divertido mucho con Erlang en el pasado, decidieron que sería realmente genial usarlo para construir un servidor web funcional.

Luego comencé a soñar despierto. ¿Qué pasaría si pudiera usar marcos modernos y construir, de una manera de golf de código, un servidor web que casi completamente "se encontraba sobre los hombros de los gigantes"? Es decir: ¿Cuánto del trabajo de otras personas podría lograr usar?

Idealmente, los requisitos se parecerían a algo como:

  • Fallas tolerantes, agrupables, distribuidas
  • Fácil de configurar
  • Admite HTTP, HTTPS y AJP en puertos configurables
  • Admite la unión de la interfaz y múltiples dominios
  • Admite JSP, Jython, etc. a través de una interfaz conectable
  • Admite módulos que permiten la implementación de cosas como WebDav, proxy y URL Reescritura

Mi mayor obstáculo en esta coyuntura es ¿Cómo diablos usas jasper, muelle, pez vidrio o cualquier cosa? Interpretar JSP sin preocuparse por todas las otras cosas, como las redes, que traen?

Cualquier otra sugerencia para características sería muy impresionante. También estoy investigando métodos de configuración no tradicionales para ver si hay algo que me guste más que los archivos XML o Propiedades. Para aquellos de ustedes que están familiarizados con Apache, a veces necesitan un poco de secuencia de comandos y, a veces, solo necesita pares de llave/valor.

Entonces, en cualquier caso, golpéame con sus sugerencias.

¿Fue útil?

Solución

Al menos Tomcat ha implementado su motor JSP como módulo. No se libera por separado y puede que requiere un trabajo para desacoplarlo por completo del resto del código Tomcat.

Tiene un nombre separado (Jasper) y su propio cómo. Se encuentra en el org.apache.jasper paquete (y abajo).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top