2011-03-17 9 views
5

Lo primero y más importante: quiero decir que esto es principalmente un ejercicio personal. Hay muchos contenedores y servidores (Tomcat, Jetty, Winstone) que satisfacen las necesidades del mercado.Crear un servidor web/contenedor de servlets en Java - De pie sobre los hombros de los gigantes

El otro día me encontré con el proyecto Akka y, después de haber tenido mucha diversión con Erlang en el pasado, decidí que sería genial usarlo para construir un servidor web funcional.

Entonces comencé a soñar despierto. ¿Qué pasaría si pudiera utilizar frameworks modernos y construir, en una forma de código de golf, un servidor web que casi "soporte los hombros de gigantes"? Es decir: qué parte del trabajo ajeno podría lograr usar.

Lo ideal sería que los requisitos se parecerían algo como:

  • tolerante a fallos, para clúster, distribuido
  • Fácil de configurar
  • soporta HTTP, HTTPS y AJP en los puertos configurables
  • Soporta el enlace de interfaz y múltiples dominios
  • Admite JSP, Jython, etc. a través de una interfaz conectable
  • Soporta módulos que permiten la implementación de cosas como WebDAV, proxy y de reescritura de URL

Mi mayor obstáculo en esta coyuntura es cómo en la tierra Cómo se utiliza Jasper, Espolón, GlassFish o nada interpretar JSP sin ¿Preocuparse por todas las otras cosas, como redes, que traen?

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

Por lo tanto, en cualquier caso, dame me gusta con tus sugerencias.

Respuesta

1

Al menos Tomcat ha implementado su motor JSP como un módulo. No se ha lanzado por separado y es posible que requiera algún trabajo para desconectarlo por completo del resto del código de Tomcat.

Tiene un nombre aparte (Jasper) y its own Howto. Se encuentra en el paquete org.apache.jasper (y más abajo).

+0

He visto esto algunas veces y creo que siento que * tiene * una mejor manera. Estamos hablando de llamar a una tarea ant desde el interior de mi servidor web para crear JSP compilados. Sin embargo, creo que voy a tener este método en mente. –

+0

La tarea ant es solo * una interfaz *. Puede ver todo el paquete 'org.apache.jasper', buscar su punto de entrada y usarlo programáticamente. El hecho de que haya una tarea ant solo prueba que el código ** no ** depende de una instancia de Tomcat en ejecución. –

+0

Lo investigaré. Si a nadie se le ocurre una mejor clase de componente atornillable, entonces seguiré adelante y marcaré esto como la respuesta después de que me cueza un poco. Todavía no estoy seguro de que me guste la ruta JspC, pero si es lo único que puedo conseguir sin implementar mi propio contenedor desde cero, entonces es lo que tomaré. Gracias. –

Cuestiones relacionadas