Java Server Pages (JSP), qui facilite le développement rapide de programmes côté serveur, est devenu un outil très populaire. Même si son côté ennuyeux existe toujours, peu importe les nombreuses lacunes qu'il contient, JSP a beaucoup à offrir aux programmeurs Web, notamment en ce qui concerne les opérations d'entrée et de sortie de bases de données et le traitement des données.
L'accès à la base de données via JSP ne nécessite pas beaucoup de conseils. Le problème est de savoir comment faire accepter aux développeurs que l'accès aux bases de données à partir de programmes Web est plus attrayant que l'accès aux bases de données à partir de systèmes OLAP locaux traditionnels, et leur faire comprendre que des méthodes d'accès aux données claires et concises sont essentielles. À ce stade, JSP peut très bien le résoudre.
Que pouvez-vous faire ?
Si vous écrivez un programme Web avec un volume de données élevé et une densité de données élevée, quelles doivent être les exigences d'accès à votre base de données ? Si vous utilisez JSP, vous devez gérer de nombreuses données côté serveur. Le programme peut nécessiter de grandes quantités de données, de nombreux utilisateurs ou une combinaison des deux. Les domaines possibles que vous pouvez également prendre en compte incluent : l'optimisation des performances, la détectabilité, l'impact de plusieurs requêtes par utilisateur, la complexité des requêtes et la conversion de type de haut niveau lorsqu'une seule session gère de grandes quantités de données.
Cela implique un traitement à grande échelle. Cependant, JSP peut vous aider à bien gérer ce problème car il est bien compatible avec l'API Java Database Connectivity (JDBC). Vous pouvez inclure JDBC dans le code JSP, et JDBC peut transmettre des instructions pour exécuter des commandes de type base de données, à condition que vous utilisiez correctement le pilote JDBC.
commencer
Voici un système d’exécution de programme JSP général et abstrait. Le modèle de conception JSP préféré est Model-View-Controller (MVCModel-View-Controller), qui est une variante du système traditionnel à trois niveaux pour mieux s'adapter aux programmes serveur. Dans le modèle de conception MVC de JSP, Model fait référence à la logique et aux données du programme, View fait référence à la visualisation et Controller fait référence au traitement des demandes.
Lorsque vous concevez un programme JSP, il est préférable de créer une page qui constitue la première étape entre l'interaction client et serveur. Par exemple, dans un programme typique, il y aurait des pages pour chaque étape spécifique de l'échange de données : une page de saisie de données, une page de demande de validation, une page de réponse à la base de données et des sous-pages de ces pages (une page d'enregistrement de modification, une page de suppression enregistrée). pages, etc.).
Vous pouvez intégrer JDBC dans chaque page pour effectuer les opérations de base de données demandées. Cependant, cette opération comporte également un grand risque, car l'ensemble du programme est mixé en mélangeant JSP et JDBC-JDBC est basé sur SQL. Cela signifie que SQL est encapsulé dans JDBC, et JDBC est également encapsulé dans JSP – cela a de quoi vous donner le vertige. Si vous choisissez cette approche, vous obtiendrez les fonctionnalités souhaitées, mais veillez tout particulièrement à ce que la relation entre la logique de votre programme et le code d'accès à la base de données soit très claire.
JDBC intégré
L'API JDBC ne communique pas directement avec la base de données. La connexion proprement dite est effectuée par les pilotes, que vous pouvez télécharger sur le site Web du vendeur. De plus, il existe quatre types de pilotes JDBC. Si vous décidez d'utiliser JDBC, vous devez choisir correctement le type qui correspond le mieux à vos besoins. Vous utiliserez une classe DriverManager pour gérer les connexions basées sur les pilotes.
Vous pouvez utiliser une méthode DriverManager appelée getConnection pour établir votre connexion à la base de données. Vous pouvez également identifier la base de données à l'aide de ses paramètres URL :
public static Connection getConnection(jdbc:odbc:nameOfDatabase)
Maintenant, indiquez au DriverManager le pilote (qui devrait être dans votre chemin de classe) :
Class.forName("sun.jdbc. odbc.nameOfJDBCDriver »);
Vous avez connecté la base de données au programme JSP, mais vous ne parvenez toujours pas à exécuter une commande de base de données. Pour résoudre ce problème, vous pouvez générer l'instruction dans le code JSP pour établir la commande de base de données comme ceci :
public Statement createStatement(intresultSetType, intresultSetConcurrency)
Les paramètres vous permettent de contrôler les résultats obtenus à partir de la requête de base de données. Lorsque vous utilisez le premier paramètre, vous pouvez voir les résultats dans le programme ; lorsque vous utilisez le deuxième paramètre, vous pouvez mettre à jour la valeur via la requête (c'est une fonctionnalité incroyable qui mérite une discussion plus approfondie dans un prochain article).
Le tableau A montre la complexité de l’énumération des deux méthodes suivantes.
Les instructions sont des commandes SQL. PreparedStatement est une instruction SQL et vous pouvez contrôler le processus du programme via ses paramètres. CallableStatement est utilisé pour accéder aux procédures stockées SQL. Commencez-vous à réaliser que si vous ne voyez pas ces instructions, vous trouvez ces affirmations compliquées ? Veuillez noter qu'en appelant la méthode rollback, vous pouvez annuler le processus de transaction.
Si vous souhaitez utiliser toutes ces méthodes d'accès à la base de données, la seule chose qui vous manque est :
ResultSetexecuteQuery(string sqlQuery)
(Vous pouvez utiliser ExecuteQuery pour terminer le processus ci-dessus. Vous pouvez également utiliser ExecuteUpdate pour effectuer les mises à jour, les insertions et les suppressions). Votre interface de déclaration ci-dessus vous permet d'utiliser un certain nombre de méthodes pour effectuer des déclarations SQL. Tout ce que ResultSet fait est d'accéder aux données obtenues à partir de la requête, afin que vous puissiez utiliser ces données dans votre programme JSP.
En divisant les programmes JSP en pages uniques et fonctionnellement évidentes et en effectuant une seule opération de base de données dans une page donnée, vous pouvez grandement simplifier vos opérations de base de données et créer des pages pouvant être utilisées pour le développement futur de programmes, même si vous intégrez SQL dans JDBC sur ces pages. .
Mais vous pouvez faire davantage pour rendre l'accès à votre base de données JSP plus propre et plus facile à maintenir. Intégrer JDBC dans le code JSP et communiquer avec la base de données en envoyant des commandes SQL est un bon processus. Cependant, cela nécessite de créer un programme pour les commandes SQL via l'interface sans augmenter la complexité du code. Lorsque votre traitement SQL nécessite une flexibilité accrue, vous pouvez séparer davantage le code de votre interface de base de données pour nettoyer vos programmes JSP. Dans l'article suivant, je vais vous expliquer comment mettre en œuvre ces processus.