En este artículo, les presentaré una tecnología flexible e interesante basada en JSP, que es JSTL, que significa Biblioteca de etiquetas estándar de páginas de servidor Java. Aunque JSP se ha vuelto muy popular, JSTL sigue siendo muy popular en aplicaciones basadas en bases de datos SQL. El desarrollo front-end y back-end simple y rápido aún no se utiliza ampliamente. Una vez que comprenda JSTL, comprenderá sus ventajas y descubrirá que se ha utilizado en muchos aspectos de su trabajo diario como programador. Supongo que ya está familiarizado con HTML, puede comprender declaraciones SQL básicas y los conceptos básicos de JSP. Porque el siguiente contenido implica este conocimiento.
JSTL es una colección de bibliotecas de etiquetas estandarizadas que admiten iteración, condiciones, análisis de documentos XML, internacionalización y la capacidad de interactuar con bases de datos mediante SQL. Inicialmente, la especificación JSTL fue desarrollada y mejorada por JSR #52 organizado por JCP (programa de proceso de la comunidad Java "JCP asume la importante tarea del desarrollo de la tecnología Java", comenta el sitio web oficial). Como organización abierta, JCP absorbe tanto a miembros formales como a miembros informales. JCP ha desempeñado un papel de liderazgo importante en la formación y desarrollo de especificaciones técnicas de Java. JSTL incluye principalmente cuatro partes básicas de la biblioteca de etiquetas: Core, XML, internacionalización y soporte para SQL. Dado que el objetivo principal de este artículo es comprender rápidamente JSTL a través de la aplicación de la parte SQL, este artículo solo presenta algunas funciones básicas de las bibliotecas de etiquetas Core y SQL.
Esta tecnología es lo suficientemente simple y poderosa como para competir con PHP y ColdFusion. Tiene suficiente capacidad para expandir los campos de aplicación de Java. Estos campos incluyen no solo aplicaciones web escalables y a gran escala, sino también aquellas con páginas de inicio simples. problema. Esto le permite evitar las consideraciones habituales de integración XML y conexiones de bases de datos al crear su sitio. Como acabo de mencionar, el punto clave de JSTL es la simplicidad y facilidad de uso. Además, JSTL está construido sobre JSP, lo que nos permite utilizar todas las tecnologías Java que debemos recordar.
Antes de comenzar, debemos descubrir cómo ejecutar JSTL. Dado que se basa en la tecnología JSP, necesitamos un contenedor que pueda compilar JSP para ejecutarlo. Aquí usamos un contenedor JSP gratuito: TOMCAT ( http://jakarta. apache.org/tomcat/index.html ). La forma de instalar este producto está fuera del alcance de este artículo. No hay duda de que este producto de software es ahora muy popular y existe mucha documentación sobre cómo instalarlo. Aquí se supone que ha instalado y configurado correctamente este contenedor. Solo necesita instalar los archivos necesarios para ejecutar JSTL. Se puede descargar desde http://jakarta.apache.org/taglibs/doc/standard-doc/intro. .html, no necesita instalarlo, solo necesita incluir el archivo .JAR en el directorio WEB-INF/lib de su aplicación. Explicaré cómo hacerlo más adelante
. a Para ejecutar programas en una base de datos que admita SQL estándar, necesita tener una base de datos instalada en su computadora. Hay muchos tipos de bases de datos, aquí elegí MySql. La razón por la que lo elegí es que, en primer lugar, necesitamos mostrar el papel de JSTL en la construcción de campos de aplicación simples y rápidos y, al mismo tiempo, se puede comparar con PHP + MySql, que siempre ha sido dominante en esto. campo; el segundo punto es que MySql se puede descargar gratis e incluye un controlador JDBC para JAVA. En resumen, para utilizar los siguientes ejemplos, necesita descargar un servidor MYSQL ( http://www.mysql.com/products/) . mysql/index.html ; controlador MySql Connector /J JDBC http://www.mysql.com/products/connector-j/index.html y centro de control MySql http://www.mysql.com/products/connector-; j/index.html ), este producto le permite operar y administrar archivos de bases de datos Mysql muy fácilmente. Una vez completadas todas las descargas, debe instalar mysql y mysql Control Center. Además, el controlador JDBC para MySQL debe colocarse en el directorio /Web-INF/lib de su aplicación web.
Antes de crear el código del programa, debe crear y completar las tablas de la base de datos. Hay artículos extensos sobre este tema y cómo hacerlo está más allá del alcance de este artículo. Aquí te recomiendo MySQL Control Center, una herramienta de administración visual que mencionamos anteriormente. Puedes usarla para crear un usuario de prueba para ejecutar el programa, la base de datos y crear una tabla de prueba y completar una serie de registros. Con respecto a los parámetros del entorno de configuración, como el nombre de inicio de sesión y el nombre de la base de datos de contraseñas, debe recordarlos y aplicarlos a nuestro código más adelante.
Ahora, está listo para crear su primera aplicación JSTL. Esto requiere que hagamos lo siguiente:
El código completo del programa de ejemplo incluye dos archivos, Hello.jsp y Continuar.jsp.
El archivo Hello.jsp le permite ingresar el nombre de la base de datos. , nombre de inicio de sesión, contraseña de inicio de sesión, nombre de la tabla de la base de datos. Continuar.jsp: acepta la información de datos en Hello.jsp y se conecta a la base de datos, y realiza una solicitud de selección a la tabla en la base de datos.
A continuación se muestran todos los archivos de código de este sistema, los explicaré uno por uno. Estos códigos son bastante simples. En cuanto a la estructura del código, creo que puedes entenderlo incluso sin mi explicación
1: <!-- Hello.jsp -->.
2: <html>
3: <cabeza>
4: <título>Hola</título>
5: </cabeza>
6: <cuerpo bgcolor="#ffffff">
7: <h1>Por favor, ingrese toda la información necesaria y haga clic en Aceptar.</h1>
8: <método de formulario="post" acción="Continue.jsp">
9: <br>Su inicio de sesión en la base de datos:
<tipo de entrada="texto" nombre="iniciar sesión" tamaño="15">
10: <br>Su contraseña para la base de datos:
<tipo de entrada="contraseña" nombre="contraseña" tamaño="15">
11: <br>El nombre de su base de datos:
<tipo de entrada="texto" nombre="base de datos" tamaño="15">
12: <br>La tabla de tu base de datos:
<tipo de entrada="texto" nombre="tabla" tamaño="15">
13: <br><br><tipo de entrada="enviar" nombre="enviar" valor="Aceptar ">
14: </forma>
15: </cuerpo>
16: </html>
(Tenga en cuenta que los números en el lado izquierdo del texto son solo para brindarle información de marcado. No es necesario que los ingrese en su archivo de código).
Lo anterior es el código fuente de todos Hola.jsp. Sorprendentemente, es solo código HTML puro, es así de simple, creo que no hay necesidad de comentarios. La razón por la que incluyo estos fragmentos de código en el artículo es para demostrar la integración de JSTL en los sitios HTML que los necesitan. Para expandir rápidamente funciones adicionales, déjame mostrarte el código completo de Continuar.jsp. Después de leerlo, comprenderás algo de JSTL.
1: <!-- Continuar.jsp -->
2: <%@ taglib prefix="c" uri=" http://java.sun.com/jstl/core " %>
3: <@ taglib prefix="sql" uri=" http://java.sun.com/jstl/sql " %>
4: <c:set var="h" valor="localhost"/>
5: <c:set var="l" value="${param.login}"/>
6: <c:set var="p" value="${param.contraseña}"/>
7: <c:set var="d" value="${param.database}"/>
8: <c:set var="t" value="${param.table}"/>
9: <html>
10: <cabeza>
11: <título>Continuar</título>
12: </cabeza>
13: <cuerpo bgcolor="#ffffff">
14: <sql:setDataSource controlador="com.mysql.jdbc.Driver"
url="jdbc:mysql://${l}/${d}?usuario=${u}&contraseña=${p}"/>
15: <sql:consulta var="resultado">
16: SELECCIONAR * DESDE <c:out value="${t}"/>
17: </sql:consulta>
18: <c:forEach var="fila" items="${result.rowsByIndex}">
19: <c:out value="${fila[0]}"/> <br>
20: </c:paraCada>
21: </cuerpo>
22: </html>
(Tenga en cuenta que los números a la izquierda del texto son solo para brindarle información de marcado; no necesita ingresarlos en su archivo de código).
Este es todo nuestro código, ¿no
?¿Es genial? Ahora expliquemos la función de los códigos anteriores.
La línea 1 es la descripción del comentario HTML.
Líneas 2--3 Estas etiquetas JSP se utilizan para hacer referencia a bibliotecas de etiquetas externas. Para ser más precisos, se refieren a las partes de la biblioteca de etiquetas Core y SQL de la biblioteca JSTL. Les asignamos nombres de prefijo para que podamos acceder a los métodos de función en la biblioteca de etiquetas introducida a través de estos nombres de prefijo.
Línea 4---8 Al igual que Hello.jsp se está ejecutando, solicitará continue.jsp. Después de que Continuar.jsp reciba la solicitud, necesita obtener y analizar varias variables de Hello.jsp. Usamos este método ${param. .TU_VAR}. En la etiqueta <c:set de la cuarta línea, establezca la variable ${h} en "localhost". La variable de la quinta línea ${l} obtendrá la información que ingresamos en el campo de texto de inicio de sesión en Hello.jsp, 6.º y 7.º. las variables en las 8 líneas obtendrán respectivamente la contraseña, el nombre de la base de datos y el nombre de la tabla de datos ingresados por el usuario en Hello.jsp.
Las líneas 9 a 13 son algunas etiquetas HTML simples que uso a menudo para crear encabezados de páginas HTML. Ahora viene la funcionalidad importante.
Línea 14, intentamos establecer una conexión a la base de datos utilizando el controlador mysql (com.mysql.jdbc.Driver) que obtuvimos anteriormente. En la URL, especificamos los parámetros necesarios para la conexión a la base de datos, como el nombre de la base de datos, el nombre del host y el inicio de sesión. nombre y contraseña de inicio de sesión. En consecuencia, podemos utilizar cualquier otro controlador JDBC para conectarnos a su base de datos correspondiente. Si necesitamos conectarnos a otras bases de datos SQL, simplemente cambie esta URL.
Líneas 15--17 Aquí ejecutamos una consulta de selección. Preste especial atención a la línea 16. Usamos otra función JSTL <c:out para generar el nombre de la tabla de datos que obtuvimos. Aquí también podemos usar otros comandos SQL, como INSERT. , BORRAR, etc. Para ejecutar estas solicitudes de consulta sin valores de retorno, debe utilizar la función JSTL <sql:update. Puede ejecutarlos directamente como <SQL:query, excepto que al ejecutarlo, no es necesario especificar una variable de resultado para almacenar los resultados devueltos por la ejecución de la declaración.
Líneas 18--20 Ahora que hemos ejecutado la instrucción de consulta SELECT anterior, deberíamos mostrar los resultados devueltos. <c:forEach es una función con función de iteración en JSTL Al ejecutarla, devolvemos la información de cada fila de datos devuelta a la variable ${row} hasta ${result.rowsByIndex}, y luego en la línea 19, usamos <c: out value="${row[0]}"/> para mostrar el valor en la primera columna de datos de cada fila de datos devuelta. Siempre que su tabla de datos contenga campos, puede acceder al valor de cualquier campo en la tabla de solicitud cambiando el número en la variable ${row}.
Las líneas 21-22 son pies de página HTML.
En el proceso de creación de aplicaciones JSTL, es posible que no haya descubierto lo poderosa que es, pero debería poder darse cuenta de la simplicidad y eficiencia de las funciones JSTL. Imagínese lo rápido que es JSTL. es integrar una columna de noticias basada en SQL y lo fácil que es integrar su sitio web existente.
Muy bien, nuestro código es muy fácil de entender. Incluso un programador no profesional, por ejemplo un diseñador, puede leerlo, comprenderlo y posiblemente realizar algunas modificaciones, al menos en el diseño de la página.
Como mencionamos al principio, para que nuestro código JSTL se ejecute correctamente, necesitamos instalar los archivos JAR en Mysql Connector/J y, por supuesto, JSTL. Debido a que usamos Tomcat, el contenedor JSP, debe crear su propia carpeta en el directorio de archivos Webapps de Tomcat y colocar sus archivos Hello.jsp y Continuar.jsp en el directorio de archivos que creó. También debe crear una carpeta llamada WEB-. INF y coloque su archivo de configuración Web.xml en él. El archivo web.xml es el siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<!Aplicación web DOCTYPE
PÚBLICO "-//Sun Microsystems, Inc.//Aplicación web DTD 2.3//ES"
" http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app />
A continuación, debemos crear un subdirectorio llamado lib en WEB-INF y colocar los siguientes archivos en él:
jstl.jar
saxpath.jar
estándar.jar
mysql-connector-java-3.0.9-stable-bin.jar (nota, este nombre puede cambiar dependiendo de tu versión de Mysql Connector/J)
Toda esta información puedes consultarla en el manual de JSTL o Tomcat, si quieres entenderla exactamente. cómo y por qué funcionan, debe leer estos manuales. Sin embargo, para ayudarlo a dominar rápidamente las operaciones básicas de JSTL, le presenté el conocimiento relevante.
Si está utilizando otros contenedores Jsp, debe leer sus manuales relevantes.
Hasta ahora, me gustaría explicar una cosa más. Este artículo es solo una introducción básica a la tecnología JSTL, no un manual completo. JSTL contiene muchos usos de funciones ricas en funciones para ayudarlo a completar su desarrollo Jsp de una manera simple y rápida. Le recomiendo que lea documentación más detallada sobre las funciones JSTL y cómo funciona con JavaBeans. que es la plataforma de desarrollo que estabas esperando. Al leer este artículo, debería poder crear algunas aplicaciones de front-end y back-end simples basadas en bases de datos SQL.