Java Server Pages (JSP), que facilita el desarrollo rápido de programas desde el lado del servidor, se ha convertido en una herramienta muy popular. Aunque todavía existe el lado aburrido, no importa cuántas deficiencias contenga, JSP tiene mucho que ofrecer a los programadores web, especialmente con operaciones de entrada y salida de bases de datos y procesamiento de datos.
El acceso a la base de datos a través de JSP no requiere mucha orientación. El problema es cómo hacer que los desarrolladores acepten que el acceso a bases de datos desde programas web es más atractivo que el acceso a bases de datos desde sistemas OLAP locales tradicionales, y hacerles comprender que los métodos de acceso a datos limpios y concisos son clave. En este punto, JSP puede resolverlo muy bien.
¿Qué puedes hacer?
Si está escribiendo un programa web con un gran volumen y densidad de datos, ¿qué requisitos debe tener el acceso a su base de datos? Si está utilizando JSP, tendrá que lidiar con una gran cantidad de datos del lado del servidor. El programa puede requerir grandes cantidades de datos, muchos usuarios o una combinación de ambos. Las posibles áreas que también puede considerar incluyen: optimización del rendimiento, detectabilidad, el impacto de múltiples consultas por usuario, complejidad de las consultas y conversión de tipos de alto nivel cuando una sola sesión maneja grandes cantidades de datos.
Esto implica un procesamiento a gran escala. Sin embargo, JSP puede ayudarle a afrontarlo bien porque es muy compatible con la API de conectividad de bases de datos de Java (JDBC). Puede incluir JDBC en el código JSP y JDBC puede pasar declaraciones para ejecutar comandos similares a bases de datos, siempre que utilice el controlador JDBC correctamente.
comenzar
A continuación se muestra un sistema de ejecución de programas JSP abstracto y general. El patrón de diseño JSP preferido es Model-View-Controller (MVCModel-View-Controller), que es una variación del sistema tradicional de tres niveles para adaptarse mejor a los programas de servidor. En el patrón de diseño MVC de JSP, Modelo se refiere a la lógica y los datos del programa, Vista se refiere a visualización y Controlador se refiere al procesamiento de solicitudes.
Cuando diseña un programa JSP, lo mejor es crear una página que sea el primer paso entre la interacción del cliente y el servidor. Por ejemplo, en un programa típico, habría páginas para cada paso específico en el intercambio de datos: una página de entrada de datos, una página de solicitud de validación, una página de respuesta de la base de datos y subpáginas de estas páginas (una página de cambio de registro, una página de eliminación de registros). páginas, etcétera).
Puede incrustar JDBC en cada página para completar las operaciones de base de datos solicitadas. Sin embargo, esta operación también conlleva un gran riesgo, porque todo el programa se mezcla mezclando JSP y JDBC-JDBC está basado en SQL. Esto significa que SQL está encapsulado en JDBC y JDBC también está encapsulado en JSP; esto es suficiente para marearlo. Si elige este enfoque, obtendrá la funcionalidad que desea, pero tenga mucho cuidado para asegurarse de que la relación entre la lógica de su programa y el código de acceso a la base de datos sea muy clara.
JDBC integrado
La API JDBC no se comunica directamente con la base de datos. La conexión real la realizan los controladores, que puede descargar desde el sitio web del vendedor. Además, existen cuatro tipos de controladores JDBC. Si decide utilizar JDBC, deberá elegir correctamente el tipo que mejor se adapte a sus necesidades. Utilizará una clase DriverManager para manejar conexiones basadas en controladores.
Puede utilizar un método DriverManager llamado getConnection para establecer su conexión a la base de datos. También puede identificar la base de datos usando sus parámetros URL:
conexión estática pública getConnection(jdbc:odbc:nameOfDatabase)
Ahora, informe al DriverManager sobre el controlador (debe estar en su classpath):
Class.forName("sun.jdbc. odbc.nameOfJDBCDriver ”);
Ha conectado la base de datos al programa JSP, pero aún no puede ejecutar un comando de base de datos. Para solucionar esto, puede generar la declaración en código JSP para establecer el comando de la base de datos de esta manera:
Declaración pública createStatement(intresultSetType, intresultSetConcurrency)
Los parámetros le permiten controlar los resultados obtenidos de la consulta de la base de datos. Cuando usa el primer parámetro, puede ver los resultados en el programa; cuando usa el segundo parámetro, puede actualizar el valor a través de la consulta (esta es una característica increíble que merece más discusión en un artículo futuro).
La Tabla A muestra la complejidad de enumerar los dos métodos siguientes.
Las declaraciones son comandos SQL. PreparedStatement es una declaración de SQL y puede controlar el proceso del programa a través de sus parámetros. CallableStatement se utiliza para acceder a procedimientos almacenados de SQL. ¿Estás empezando a darte cuenta de que si no ves estas instrucciones, estas afirmaciones te resultan complicadas? Tenga en cuenta que al llamar al método de reversión, puede deshacer el proceso de transacción.
Si desea utilizar todos estos métodos de acceso a la base de datos, lo único que le falta es:
ResultSetexecuteQuery(string sqlQuery)
(Puede usar ejecutarQuery para completar el proceso anterior. También puede usar ejecutarUpdate para completar actualizaciones, inserciones y eliminaciones). La interfaz de declaración anterior le permite utilizar varios métodos para realizar declaraciones SQL. Todo lo que hace el ResultSet es acceder a los datos obtenidos de la consulta, para que pueda utilizar estos datos en su programa JSP.
Al dividir los programas JSP en páginas únicas y funcionalmente obvias y realizar una única operación de base de datos en cualquier página determinada, puede simplificar enormemente las operaciones de su base de datos y crear páginas que pueden usarse para el desarrollo futuro de programas incluso si integra SQL en JDBC en estas páginas. .
Pero hay más que puede hacer para que el acceso a su base de datos JSP sea más limpio y más fácil de mantener. Incrustar JDBC en código JSP y comunicarse con la base de datos mediante el envío de comandos SQL es un buen proceso. Sin embargo, requiere crear un programa para comandos SQL a través de la interfaz sin aumentar la complejidad del código. Cuando su procesamiento SQL necesita una mayor flexibilidad, puede separar aún más el código de la interfaz de su base de datos para limpiar sus programas JSP. En el siguiente artículo te contaré cómo implementar estos procesos.