Si su aplicación web es lo suficientemente compleja como para que el número de acciones pueda exceder el número de servlets que se siente cómodo manejando, entonces puede considerar un marco web para abstraer el problema .
Su capa servlet sólo debe hacer algunas cosas: entrada
- yanqui desde la solicitud
- Manejo de estado de sesión
- objetos de envío a/de negocios capa de objetos
- datos de empuje en la respuesta
- Reenviar a una vista
- Manejar errores/entrada/salida incorrecta
Casi cualquier otra cosa atrapada en un servlet es una mala idea.
Si sigue algunas pautas simples, un servlet simple puede llamar a un procesador de entrada para convertir los datos de la solicitud y los datos que podrían estar en la sesión en un objeto apropiado. Ese objeto se puede pasar a una capa de BizObject. Esa capa devolverá información que podría almacenarse en la sesión y algún objeto que se pasará a la vista.
Solía hacer cumplir una regla de 40 líneas para los métodos de servicio de servlet. Si pasó más de 40 líneas, esperaba una buena explicación.
Trabajé en una aplicación web Java de 80k líneas que tenía dos servlets, ni excedía las 40 líneas. Manejó alrededor de 60 formas/estados.
En ningún momento pensé que sería más fácil administrar/mantener/modificar la aplicación si hubiera más código en el servlet.
Solo como referencia, cuando las personas hablan de un solo servlet, están pensando en Front Controller Pattern o su adopción específica de Java conocida como MVC Model 2 y si la gente está hablando de múltiples servlets, están pensando en patrón tradicional MVC. – Esko