Anteriormente, mencionamos que los programas JSP son módulos y tienen potentes funciones de solicitud de presentación. Establecer un acceso perfecto a la base de datos es un proceso desafiante y la interfaz JDBC puede completar bien este proceso. Sin embargo, el código JDBC integrado en el código JSP, al igual que los comandos SQL integrados en JDBC, puede aprovechar al máximo las capacidades de JSP para crear una API limpia y sencilla para los clientes. Para lograr este propósito, podemos considerar el uso de operaciones JSP para establecer componentes de interfaz de base de datos.
El patrón de diseño JSP perfecto es Model-View-Controller (MVC). El sistema tradicional de tres niveles es: el modelo es para la lógica y los datos del programa; la vista es para ver y el controlador es para el procesamiento de solicitudes. Siguiendo este modelo, un programa JSP contiene páginas para cada "fila" de un "cuadro de diálogo" cliente-servidor. En un programa típico, es posible que vea una página de consulta, una página de validación, una página de inserción de base de datos, una página de actualización de base de datos, etc.
En el artículo anterior, discutimos cómo incrustar JDBC en cada página para garantizar que la estructura del programa sea más razonable. Sin embargo, la creación de comandos SQL ejecutables, así como variables pasadas a través de comandos JDBC, también puede aumentar la complejidad del programa.
Operaciones JSP diseñadas por JDBC
Otro enfoque para las operaciones de bases de datos JSP es crear una colección de operaciones para la base de datos sin utilizar JDBC. Con este enfoque, puede obtener dos beneficios: primero, puede eliminar la necesidad de usar JDBC, lo que simplifica mucho el trabajo; segundo, su diseño y organización del código son más razonables (como legibilidad, flexibilidad, rendimiento y mantenibilidad).
Aún necesita algunos controladores, pero primero simplifique lo anterior. Las operaciones en un programa JSP son bloques lógicos que normalmente escriben y utilizan otros desarrolladores de programas JSP, pero usted puede utilizarlos como subrutinas. La importancia de utilizar operaciones JSP es estandarizar ciertas funciones y minimizar la cantidad de código Java integrado en JSP.
JSP proporciona un conjunto de clases de extensión estándar. A través de estas clases, puede definir una operación a través de un controlador de etiquetas. Hay dos interfaces Java definidas por JSP: la interfaz Tag y la interfaz BodyTag, que son ejecutadas por la clase TagSupport y la clase BodyTagSupport respectivamente.
Puede crear una biblioteca de etiquetas para fines JSP generales y también puede implementar controladores de etiquetas para ampliar el soporte de clases. A continuación se detallan los pasos para implementar estos procesos.
Primero, ejecute una clase de administrador de etiquetas:
packagecom.myactions;
(las declaraciones de importación van aquí)
la clase pública MyActionTag extiende TagSupport {
...
}
A continuación, compila este código y coloca el archivo de clase en la biblioteca de clases del programa. Luego, necesitará un archivo Descriptor de biblioteca de etiquetas (TLD), que es un archivo XML que coincide con el nombre de su acción y la clase del administrador de etiquetas correspondiente.
<etiqueta>
<nombre>MiAcción</nombre>
<tagclass>com.myactions.MyActionTag</tagclass>
<bodycontent> (lo que sea) </bodycontent>
<atributo>misDatos</atributo>
</tag>
</tag>
Software de prueba relacionado
Supongamos que ha creado una acción denominada MyAction, que es un TLD que coincide con la clase com.myactions.MyActionTag. El archivo TLD debe estar ubicado en la ruta de TLD del programa.
Cuando llama a una operación desde una página JSP, el TLD le dice al JSP la clase correcta para usar la operación. Esto aporta una gran comodidad y sólo requiere una pequeña cantidad de código.
¿Pero dónde introducir SQL? Primero, debe establecer acceso a la base de datos con capacidades de conexión. Puede hacerlo utilizando la interfaz javax, que está disponible en la caja de herramientas opcional de JDBC 2.0. La clase javax.sql.DataSource de JDBC 2.0 proporciona la conexión que necesita.
¿Dónde se encuentra SQL en este punto? Está en el frijol. Puede utilizar JDBCcreateStatement y PreparedStatement para crear un método en un bean. Haga de este método un vector público y pase sus declaraciones SQL a este método correctamente.
Resumen Su bean de base de datos ejecuta una declaración SQL incrustada en el cuerpo de la acción. Puede pasar una declaración a la declaración SQL o utilizarla para realizar una operación previa. Puedes realizar tus acciones a través del administrador de etiquetas. Debido a que JDBC está integrado en el código de la biblioteca, no podrá usarlo explícitamente en un programa JSP.
A primera vista, este enfoque puede parecer más complejo que el SQL incorporado en JDBC y el JDBC incorporado en JSP, pero dado que crea operaciones SQL y las almacena en un TLD, solo tiene que realizarlas una vez, en todos los programas JSP a los que pueda acceder. estas operaciones. Ésta es la ventaja de este enfoque.
La próxima vez hablaremos sobre la transferencia de datos entre páginas y sesiones JSP.