Jsp appelle la commande Javeabean. Il existe des paramètres de portée dans UseBean, et il existe généralement des paramètres tels que la page de session d'application. La page est
un nouvel objet javabean qui est régénéré pour chaque page. Ceci est généralement utilisé si plusieurs programmes Jsp partagent des données. , vous pouvez l'utiliser.
Session
et application signifient que le javabean existera toujours. Par rapport à la session, l'application est relative à l'application.
De manière générale, un utilisateur a une session, et elle disparaîtra lorsque l'utilisateur partira tandis que l'application existera toujours. . , similaire à
un programme servlet, similaire aux "variables globales" de l'ensemble du système, et il n'y a qu'une seule instance.
Fonctions de contrôle dans MVC
Par conséquent, la fonctionnalité d'application est très adaptée aux fonctions de contrôle dans MVC. Généralement, MVC traditionnel utilise des servlets pour les fonctions de contrôle. V est
essentiellement
une page Jsp et M est un Javabean middleware.Cependant, avec l'amélioration et la promotion des fonctions Jsp, il y a une tendance progressive au remplacement des servlets. Dans la pratique, nous utilisons davantage Jsp. Parfois,
pour
éviter des problèmes, Jsp est utilisé à la place des servlets, en particulier sa fonction de contrôle.En fait, cette fonction de contrôle est encapsulée dans un Javabean. Jsp utilise scope=application pour appeler ce Javabean. De cette façon
, le Javabean avec fonction de contrôle est comme un servlet résidant en mémoire et interagit avec divers middlewares d'arrière-plan.
L'affichage de la "page d'accueil"
dans les applications pratiques. Nous avons souvent plusieurs utilisateurs accédant à une page en même temps, comme la page d'accueil. Il existe de nombreuses fonctions à exécuter sur cette page d'accueil, comme
la classification des répertoires. doit lire les données de l'arborescence de la base de données et les développer et les afficher sur la page d'accueil. Cette fonction est encapsulée dans les Javabeans.
Ensuite, lorsque la page d'accueil Jsp appelle ce Javabean, utilisez scope=application, puis utilisez l'algorithme de mise en mémoire tampon des données arborescentes. De cette façon, lorsque plusieurs
utilisateurs
accèdent à la page d'accueil en même temps, la page d'accueil JSP n'a pas besoin de démarrer le Javabean à chaque fois. puis lisez la base de données à plusieurs reprises.Cela augmentera sans aucun doute considérablement la vitesse.
Ainsi, si votre page d’accueil Jsp reçoit un nombre élevé de visites, vous devriez consacrer plus de temps à l’optimiser.
Mise en mémoire tampon des connexions à la base de données
< jsp:useBean id="cods"
class="oracle.jdbc.pool.OracleConnectionCacheImpl"
scope="application" />
< événement:application_OnStart>
<%
cods.setURL("jdbc:oracle:thin:@HOST:PORT:SID");
cods.setUser("scott");
cods.setPassword("tigre");
cods.setStmtCache (5);
%>
< /event:application_OnStart>
< %@ page import="java.sql.*, javax.sql.*, oracle.jdbc.pool.*" %>
< !------------------------------------------------ ----------------
* Ceci est une page JavaServer qui utilise la mise en cache des connexions sur
application
* portée. Le cache est créé dans une portée d'application dans
fichier globals.jsa.
* La connexion est obtenue à partir du cache et recyclée une fois
fait
.------------------------------------------------ --------------------!>
<HTML>
<TÊTE>
<TITRE>
ConnCacheJSP
< /TITRE>
< /TÊTE>
<CORPS BGCOLOR=EOFFFO>
<H1>Bonjour
< %= (request.getRemoteUser() != null? ", " +
request.getRemoteUser() : "") %>
! Je suis Connection Caching JSP.
< /H1>
<RH>
< B> Je récupère la connexion du cache et je la recycle.
< /B>
<P>
<%
essayer {
Connexion conn = cods.getConnection();
Instruction stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery ("SELECT ename, sal " +
"FROM scott.emp ORDER BY ename");
si (rset.next()) {
%>
< BORDURE TABLE=1 BGCOLOR="C0C0C0">
< TH WIDTH=200 BGCOLOR="blanc"> < I>Nom de l'employé< /I> </ /TH>
< TH WIDTH=100 BGCOLOR="blanc"> < I>Salaire</I> </ /TH>
< TR> < TD ALIGN=CENTER> < %= rset.getString(1) %> < /TD>
< TD ALIGN=CENTER> $< %= rset.getDouble(2) %> < /TD>
< /TR>
< % while (rset.next()) {
%>
< TR> < TD ALIGN=CENTER> < %= rset.getString(1) %> < /TD>
< TD ALIGN=CENTER> $< %= rset.getDouble(2) %> < /TD>
< /TR>
< % }
%>
< /TABLE>
< % }
autre {
%>
< P> Désolé, la requête n'a renvoyé aucune ligne ! < /P>
<%
}
rset.close();
stmt.close();
conn.close(); // Remettre la connexion dans le pool
} catch (SQLException e) {
out.println("< P>" + "Une erreur s'est produite lors de la requête :");
out.println ("< PRE> " + e + " < /PRE>
<P>");
}
%>
< /CORPS>
< /HTML>
Utilisez l'application pour mettre en cache la connexion à la base de données. Chaque fois qu'elle est utilisée, elle est retirée du tampon et renvoyée après utilisation.