Paso de jsp a servlets

He creado un jsp que la máquina virtual de java es incapaz de manipular. Al compilarlo debo de exceder del tope. Lo que quiero hacer es pasar el código que tengo en el jsp a un servlet para ver si es capaz de compilar todo correctamente.
En resumen, tengo un menú de enlaces. Cada menú llama a un jsp y éste ejecuta un montón de consultas para ver qué mostrar por pantalla. En el jsp tengo a su vez includes (menu izquierda que hace a su vez un montón de consultas para ver qué parámetros tiene que poner en cada punto de menú). Ahora quiero que el menú de enlaces primero llame a un servlet (en vez del jsp para hacer todo el procesamiento dentro del servlet y no en el jsp) y mi pregunta es, ¿puedo hacer una include en el servlet para el menú de la izquierda, la cabecera y el pie de página para no tener que estar poniendo out. Println en cada línea del servlet? Necesito que las variables declaradas en el ahora servlet, las vean las includes de cabecera y pie.
Básico, servlet para procesar jsp para mostrar ¿pero cómo? Siempre ejemplos de formularios ¿pero intercalado?Jsp-servlet-jsp...
Respuesta
1
Pues yo creo que tienes varias maneras de hacerlo:
1. En vez de crear un servlet fragmenta tu jsp en jsps más pequeñas y haz includes. Es la solución menos elegante (sigues teniendo la lógica en la jsp), pero la más rápida (porque ya lo tienes hecho).
2. Fragmenta tu pantalla en frames (o iframes, según convenga) y rellena la parte que quieras con jsps (los menús por ejemplo) y la parte que quieras con el servlet (el contenido). Tampoco es demasiado elegante porque dibujas partes de tu pantalla desde el servlet.
3. La solución más elegante: haz que tu servlet se limite a contener la lógica (obtener datos de BBDD, hacer cálculos, validaciones, ...) y que la jsp se limite a mostrar los resultados. La forma de trabajar es la siguiente:
- Desde el link/boton/... que toque llamas al servlet encargado de procesar la lógica. Este obtiene los datos a mostrar y se los pasa a la jsp por la request (request, response y session son los mecanismos de comunicación entre el servlet i la jsp). La jsp obtiene los datos y pinta el contenido(request. GetAttribute("nombreAtributo")). Una buena practica es encapsular los datos obtenidos en beans (en lugar de pasar los resultados atributo a atributo). Esto te proporciona una estructura orientada a objetos y, lo más importante, te permite trabajar con tagLibs (tags similares a los tags de html pero que ejecutan código java) desde tu jsp en lugar de hacerlo con scriptlet (el código java que incurtamos dentro del html entre símbolos <% %>). De todas maneras, si optas por los atributos sueltos tambiéns estará bien ;-)

1 respuesta más de otro experto

Respuesta
-1
Sorry estuve un poco retirado del mundo informático, ahora que vuelvo creo que ya es un poco tarde para contestar tu pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas