Dans cet article, je vais vous présenter une technologie flexible et intéressante basée sur JSP, qui est JSTL (Java Server Pages Standard Tag Library). Bien que JSP soit devenu très populaire, JSTL est toujours très populaire dans les applications basées sur des bases de données SQL. Le développement front-end et back-end simple et rapide n’est pas encore largement utilisé. Une fois que vous aurez compris JSTL, vous comprendrez ses avantages et constaterez qu’il a été utilisé à de nombreux égards dans votre travail quotidien en tant que programmeur. Je suppose ici que vous êtes déjà familier avec HTML, que vous pouvez comprendre les instructions SQL de base et les bases de JSP. Parce que le contenu suivant implique cette connaissance.
JSTL est un ensemble de bibliothèques de balises standardisées qui prennent en charge l'itération, les conditions, l'analyse de documents XML, l'internationalisation et la possibilité d'interagir avec des bases de données à l'aide de SQL. Initialement, la spécification JSTL a été développée et améliorée par le JSR #52 organisé par JCP (Java Community Process Program). "JCP assume la tâche importante du développement de la technologie Java" - commente le site officiel. En tant qu'organisation ouverte, JCP absorbe à la fois des membres formels et informels. JCP a joué un rôle de premier plan dans la formation et le développement des spécifications techniques Java. JSTL comprend principalement quatre parties de base de la bibliothèque de balises : Core, XML, internationalisation et prise en charge de SQL. Étant donné que l'objectif principal de cet article est de comprendre rapidement JSTL grâce à l'application de la partie SQL, cet article ne présente que quelques fonctions de base des bibliothèques de balises Core et SQL.
Cette technologie est suffisamment simple et puissante pour rivaliser avec PHP et ColdFusion. Elle a suffisamment de capacité pour étendre les domaines d'application de Java. Ces domaines incluent non seulement les applications Web à grande échelle et évolutives, mais également celles dotées de simples pages d'accueil. problème. Cela vous permet d'éviter les considérations habituelles d'intégration XML et de connexions à la base de données lors de la création de votre site. Comme je viens de le mentionner, le point clé de JSTL est la simplicité et la facilité d’utilisation. De plus, JSTL est construit sur JSP, ce qui nous permet d'utiliser toutes les technologies Java dont nous devons nous souvenir.
Avant de commencer, nous devons comprendre comment exécuter JSTL. Puisqu'il est basé sur la technologie JSP, nous avons besoin d'un conteneur capable de compiler JSP pour l'exécuter. Ici, nous utilisons un conteneur JSP gratuit : TOMCAT ( http://jakarta. apache.org/tomcat/index.html ). La façon d'installer ce produit dépasse le cadre de cet article. Il ne fait aucun doute que ce logiciel est désormais très populaire et il existe de nombreuses documentations sur la façon de l'installer. On suppose ici que vous avez installé et configuré avec succès ce conteneur. Il vous suffit d'installer les fichiers requis pour exécuter JSTL. Il peut être téléchargé depuis http://jakarta.apache.org/taglibs/doc/standard-doc/intro. .html, vous n'avez pas besoin de l'installer, il vous suffit d'inclure le fichier .JAR dans le répertoire WEB-INF/lib de votre application, je vous expliquerai comment le faire plus tard
. a Pour exécuter des programmes sur une base de données prenant en charge le SQL standard, vous devez disposer d'une base de données installée sur votre ordinateur. Il existe de nombreux types de bases de données, ici j'ai choisi MySql. La raison pour laquelle je l'ai choisi est qu'il faut avant tout montrer le rôle de JSTL dans la construction de champs d'application simples et rapides, et en même temps, il peut être comparé à PHP+MySql, qui a toujours été dominant dans ce domaine. champ ; le deuxième point est que MySql est téléchargeable gratuitement et inclut un pilote JDBC pour JAVA. En bref, pour utiliser les exemples suivants, vous devez télécharger un serveur MYSQL ( http://www.mysql.com/products/. mysql/index.html ; Connecteur MySql /J Pilote JDBC http://www.mysql.com/products/connector-j/index.html et centre de contrôle MySql http://www.mysql.com/products/connector- j/index.html ), ce produit vous permet d'exploiter et de gérer très facilement les fichiers de la base de données Mysql. Une fois tous les téléchargements terminés, vous devez installer MySQL et MySQL Control Center. De plus, le pilote JDBC pour MySQL doit être placé dans le répertoire /Web-INF/lib de votre application Web.
Avant de créer le code du programme, vous devez créer et remplir les tables de la base de données. Il existe de nombreux articles sur ce sujet, et la manière de procéder dépasse le cadre de cet article. Ici, je vous recommande MySQL Control Center, un outil de gestion visuelle que nous avons mentionné ci-dessus. Vous pouvez l'utiliser pour créer un utilisateur test pour exécuter le programme, la base de données, créer une table de test et remplir un certain nombre d'enregistrements. Concernant les paramètres de l'environnement de configuration tels que le nom de connexion et le nom de la base de données de mots de passe, vous devez vous en souvenir et les appliquer à notre code ultérieurement.
Vous êtes maintenant prêt à créer votre première application JSTL. Cela nécessite de faire les choses suivantes :
L'intégralité du code de l'exemple comprend deux fichiers, Hello.jsp et Continue.jsp.
Le fichier Hello.jsp vous permet de saisir le nom de la base de données. , nom de connexion, mot de passe de connexion, nom de la table de base de données. Continue.jsp : accepte les informations sur les données dans Hello.jsp, se connecte à la base de données et effectue une requête de sélection sur la table de la base de données.
Vous trouverez ci-dessous tous les fichiers de code de ce système, je vais les expliquer un par un. Ces codes sont assez simples. Quant à la structure du code, je pense que vous pouvez la comprendre même sans mon explication
1 : <!-- Hello.jsp -->.
2 : <html>
3 : <tête>
4 : <titre>Bonjour</titre>
5 : </tête>
6 : <body bgcolor="#ffffff">
7 : <h1>Veuillez saisir toutes les informations nécessaires et cliquez sur OK.</h1>
8 : <form method="post" action="Continue.jsp">
9 : <br>Votre connexion à la base de données :
<input type="text" name="login" size="15">
10 : <br>Votre mot de passe pour accéder à la base de données :
<input type="mot de passe" nom="mot de passe" size="15">
11 : <br>Nom de votre base de données :
<input type="text" name="database" size="15">
12 : <br>Votre table de base de données :
<input type="text" name="table" size="15">
13 : <br><br><input type="soumettre" nom="soumettre" valeur=" OK ">
14 : </formulaire>
15 : </corps>
16 : </html>
(Veuillez noter que les chiffres sur le côté gauche du texte servent simplement à vous fournir des informations de balisage. Vous n'avez pas besoin de les saisir dans votre fichier de code.)
Ce qui précède est le code source de tous Bonjour.jsp. Étonnamment, il s'agit simplement de code HTML pur, c'est aussi simple que cela, je pense qu'il n'y a pas besoin de commentaires. La raison pour laquelle j'inclus ces extraits de code dans l'article est de démontrer l'intégration de JSTL dans les sites HTML qui en ont besoin. pour développer rapidement des fonctions supplémentaires. Comme c'est simple. Laissez-moi vous montrer l'intégralité du code de Continue.jsp. Après l'avoir lu, vous aurez une certaine compréhension de JSTL.
1 : <!-- Continue.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" value="localhost"/>
5 : <c:set var="l" value="${param.login}"/>
6 : <c:set var="p" value="${param.password}"/>
7 : <c:set var="d" value="${param.database}"/>
8 : <c:set var="t" value="${param.table}"/>
9 : <html>
10 : <tête>
11 : <titre>Continuer</titre>
12 : </tête>
13 : <body bgcolor="#ffffff">
14 : <sql:setDataSource driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://${l}/${d}?user=${u}&password=${p}"/>
15 : <sql:query var="résultat">
16 : SELECT * FROM <c:out value="${t}"/>
17 : </sql:requête>
18 : <c:forEach var="row" items="${result.rowsByIndex}">
19 : <c:out value="${row[0]}"/> <br>
20 : </c:pourChac>
21 : </corps>
22 : </html>
(Veuillez noter que les chiffres à gauche du texte servent simplement à vous fournir des informations de balisage, vous n'avez pas besoin de les saisir dans votre fichier de code.)
Ceci est tout notre code, n'est-ce pas c'est génial ? Expliquons maintenant la fonction des codes ci-dessus.
La ligne 1 est la description du commentaire HTML.
Lignes 2--3 Ces balises JSP sont utilisées pour référencer des bibliothèques de balises externes. Pour être plus précis, elles font référence aux parties bibliothèque de balises Core et SQL de la bibliothèque JSTL. Nous leur définissons des noms de préfixes afin que nous puissions accéder aux méthodes de fonction dans la bibliothèque de balises introduite via ces noms de préfixes.
Ligne 4 --- 8 Tout comme Hello.jsp est en cours d'exécution, il demandera continue.jsp. Après que Continue.jsp ait reçu la requête, il doit obtenir et analyser plusieurs variables de Hello.jsp. Nous utilisons cette méthode ${param. .VOTRE_VAR}. Dans la balise <c:set de 4ème ligne, définissez la variable ${h} sur "localhost". La variable de cinquième ligne ${l} obtiendra les informations que nous avons saisies dans le champ de texte de connexion dans Hello.jsp, 6ème et 7ème. les variables des 8 lignes obtiendront respectivement le mot de passe, le nom de la base de données et le nom de la table de données saisis par l'utilisateur dans Hello.jsp.
Les lignes 9 à 13 sont quelques balises HTML simples que j'utilise souvent pour créer des en-têtes de page HTML. Maintenant, la fonctionnalité importante arrive.
Ligne 14, nous essayons d'établir une connexion à la base de données à l'aide du pilote mysql (com.mysql.jdbc.Driver) que nous avons obtenu précédemment. Dans l'URL, nous spécifions les paramètres requis pour la connexion à la base de données, tels que le nom de la base de données, le nom d'hôte, la connexion. nom et mot de passe de connexion. En conséquence, nous pouvons utiliser n'importe quel autre pilote JDBC pour nous connecter à sa base de données correspondante. Si nous devons nous connecter à d'autres bases de données SQL, modifiez simplement cette URL.
Lignes 15 à 17 Ici, nous exécutons une requête Select. Veuillez prêter une attention particulière à la ligne 16. Nous utilisons une autre fonction JSTL <c:out pour afficher le nom de la table de données que nous avons obtenu. Ici, nous pouvons également utiliser d'autres commandes SQL, telles que INSERT. , SUPPRIMER, etc. Pour exécuter ces requêtes de requête sans valeurs de retour, vous devez utiliser la fonction JSTL <sql:update. Il peut les exécuter directement tout comme <SQL:query, sauf que lors de son exécution, il n'est pas nécessaire de spécifier une variable de résultat pour stocker les résultats renvoyés par l'exécution de l'instruction.
Lignes 18 à 20 Maintenant que nous avons exécuté l'instruction de requête SELECT ci-dessus, nous devrions afficher ses résultats de retour. <c:forEach est une fonction avec fonction d'itération dans JSTL. Lors de son exécution, nous renvoyons les informations de chaque ligne de données renvoyées à la variable ${row} via ${result.rowsByIndex}, puis à la ligne 19, nous utilisons <c : out value="${row[0]}"/> pour afficher la valeur dans la première colonne de données de chaque ligne de données renvoyée. Tant que votre table de données contient des champs, vous pouvez accéder à la valeur de n'importe quel champ de la table de requête en modifiant le numéro dans la variable ${row}.
Les lignes 21 et 22 sont des pieds de page HTML.
En créant vous-même des applications JSTL, vous n'avez peut-être pas découvert à quel point elles sont puissantes, mais vous devriez être en mesure de réaliser la simplicité et l'efficacité des fonctions JSTL. est d'intégrer une rubrique d'actualités basée sur SQL et à quel point il est facile d'intégrer votre site Web existant.
Très bien, notre code est très simple à comprendre. Même un programmeur non professionnel, par exemple, un designer peut le lire, le comprendre, et éventuellement apporter quelques modifications, au moins à la mise en page.
Comme nous l'avons mentionné au début, pour que notre code JSTL fonctionne correctement, nous devons installer les fichiers JAR dans Mysql Connector/J, et bien sûr JSTL. Parce que nous utilisons Tomcat, le conteneur JSP, vous devez créer votre propre dossier sous le répertoire de fichiers Webapps de Tomcat et placer vos fichiers Hello.jsp et Continue.jsp dans le répertoire de fichiers que vous avez créé. Vous devez également créer un dossier appelé WEB-. INF et placez-y votre fichier de configuration Web.xml. Le fichier web.xml est le suivant :
<?xml version="1.0" encoding="UTF-8"?>
<!Application Web DOCTYPE
PUBLIC "-//Sun Microsystems, Inc.//Application Web DTD 2.3//EN"
" http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app />
Ensuite, nous devons créer un sous-répertoire appelé lib sous WEB-INF et y placer les fichiers suivants :
jstl.jar
saxpath.jar
standard.jar
mysql-connector-java-3.0.9-stable-bin.jar (attention, ce nom peut changer en fonction de votre version de Mysql Connector/J)
Toutes ces informations, vous pouvez vérifier dans le manuel JSTL ou Tomcat, si vous voulez comprendre exactement comment et pourquoi ils fonctionnent, vous devriez lire ces manuels. Cependant, afin de vous aider à maîtriser rapidement les opérations de base de JSTL, j'ai introduit les connaissances pertinentes.
Si vous utilisez d'autres conteneurs Jsp, vous devez lire leurs manuels pertinents.
Voilà, je voudrais expliquer encore une chose. Cet article n'est qu'une introduction de base à la technologie JSTL, pas un manuel complet. JSTL contient de nombreuses utilisations de fonctions riches en fonctionnalités pour vous aider à terminer votre développement Jsp de manière simple et rapide. Je vous recommande de lire une documentation plus détaillée sur les fonctions JSTL et leur fonctionnement avec JavaBeans. que c'est la plateforme de développement que vous attendiez. En lisant cet article, vous devriez être capable de créer des applications front-end et back-end simples basées sur des bases de données SQL.