Cuando usar JSP y JSPF

La tecnología Java Server Page se usa para crear aplicaciones web.
Por allen bethea

Reutilización de código JSP

Los archivos JSPF se pueden usar para que la programación de aplicaciones web Java complejas sea menos tediosa y propensa a errores dividiendo la aplicación en varias unidades o módulos más pequeños y manejables. Idealmente, cada módulo debería dedicarse a una única parte de un programa completo y ser general en su naturaleza para que el código se pueda reutilizar en futuras aplicaciones JSP. El archivo JSP padre tendrá una directiva "include" para cada archivo de fragmento JSPF, que las une todas en una aplicación JSP completa.


Refactorización de código

Dividir un gran archivo JSP en más fragmentos JSPF modulares y más pequeños tiene la ventaja adicional de que hace que la tarea de refactorización de código sea más sencilla. La refactorización de código es una técnica para mejorar la calidad del código examinándolo, dividiéndolo en unidades lógicas y después reescribiendo estas unidades una por una. Usar los fragmentos JSPF puede ayudar a eliminar errores y a aumentar el rendimiento de cada unidad y de la aplicación final montada.


Restricción de acceso

Por convención, los fragmentos JSPF deberían almacenarse en el directorio "/WEB-INF/jspf/". Este directorio es accesible por los contenedores servlet como Tomcat y JBoss Application Server, pero no por los servidores web como Apache o Microsoft IIS. Puedes dividir una página JSP completa en archivos de fragmentos JSPF y ocultarlos en el directorio "/WEB-INF/jspf/". También puedes ocultar una página JSP completa del acceso web almacenándola en fragmentos JSPF.


Interacciones JSP

Las páginas JSP completas pueden importar otras páginas JSP completas así como fragmentos JSPF. Puedes hacer esto usando las directivas "dsp:include" o "jsp:include". La directiva "dsp:include" permitirá que un archivo JSP padre pase parámetros a los métodos en los archivos JSP hijos. La directiva "jsp:include" no permite pasar parámetros a los métodos en los archivos JSPF pero permite que los métodos de los fragmentos JSPF accedan a datos globales y a otros objetos a los que las reglas de alcance de Java permiten el acceso.