Jsp llama al comando Javeabean. Hay configuraciones de alcance en UseBean y, en general, hay configuraciones como la página de sesión de la aplicación. Es
un nuevo objeto javabean que se regenera para cada página. Esto generalmente se usa si varios programas Jsp comparten datos. , puede usarlo.
La sesión
y la aplicación significan que javabean siempre existirá. En comparación con la sesión, la aplicación es relativa a la aplicación.
En términos generales, un usuario tiene una sesión y desaparecerá cuando el usuario la abandone; , similar a
un programa de servlet, similar a las "variables globales" de todo el sistema, y solo hay una instancia.
Funciones de control en MVC
Por lo tanto, la característica de la aplicación es muy adecuada para las funciones de control en MVC. Generalmente, el MVC tradicional usa servlets para las funciones de control. V es
básicamente
una página Jsp y M es un middleware Java.Sin embargo, con la mejora y promoción de las funciones de Jsp, existe una tendencia gradual a reemplazar los servlets. En la práctica, usamos más Jsp. A veces,
para
evitar problemas, se usa Jsp en lugar de servlet, especialmente su función de control.De hecho, esta función de control está encapsulada en un Javabean. Jsp usa alcance = aplicación para llamar a este Javabean. De esta manera
, el Javabean con función de control es como un servlet residente en la memoria e interactúa con varios middleware en segundo plano.
La visualización de la "página de inicio"
en aplicaciones prácticas. A menudo tenemos varios usuarios accediendo a una página al mismo tiempo, como la página de inicio. Hay muchas funciones para ejecutar en esta página de inicio, como
la clasificación de directorios. debe leer los datos del árbol de la base de datos y expandirlos y enviarlos a la página de inicio. Esta función está encapsulada en Javabeans.
Luego, cuando el Jsp de la página de inicio llame a este Javabean, use alcance = aplicación y luego use el algoritmo de almacenamiento en búfer de datos del árbol. De esta manera, cuando varios
usuarios
acceden a la página de inicio al mismo tiempo, el JSP de la página de inicio no necesita iniciar el Javabean cada vez. y luego lea la base de datos repetidamente.Sin duda aumentará mucho la velocidad.
Entonces, si su página de inicio Jsp tiene una gran cantidad de visitas, debería dedicar más tiempo a optimizarla.
Almacenamiento en búfer de conexión de base de datos
< jsp:useBean id="bacalaos"
clase="oracle.jdbc.pool.OracleConnectionCacheImpl"
alcance="aplicación" />
< evento:aplicación_OnStart>
<%
cods.setURL("jdbc:oracle:thin:@HOST:PORT:SID");
bacalaos.setUser("scott");
bacalaos.setPassword("tigre");
bacalaos.setStmtCache (5);
%>
< /event:application_OnStart>
< %@ página import="java.sql.*, javax.sql.*, oracle.jdbc.pool.*" %>
< !------------------------------------------------ ----------------
* Esta es una página de JavaServer que utiliza Connection Caching sobre
solicitud
* alcance El caché se crea en un alcance de aplicación en
archivo globals.jsa.
* La conexión se obtiene del caché y se recicla una vez
hecho
.------------------------------------------------ --------------------!>
<HTML>
<CABEZA>
<TÍTULO>
ConnCache JSP
< /TÍTULO>
< /CABEZA>
<CUERPO BGCOLOR=EOFFFO>
<H1>Hola
< %= (request.getRemoteUser() != ¿nulo? ", " +
request.getRemoteUser() : "") %>
!Soy conexión en caché JSP.
< /H1>
<RRHH>
< B> Obtengo la conexión del caché y la reciclo.
< /B>
<P>
<%
intentar {
Conexión de conexión = cods.getConnection();
Declaración stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery ("SELECCIONAR nombre, sal " +
"DESDE scott.emp PEDIR POR ename");
si (rset.siguiente()) {
%>
< BORDE DE LA TABLA = 1 BGCOLOR="C0C0C0">
< TH WIDTH=200 BGCOLOR="white"> < I>Nombre del empleado</I> </ /TH>
< TH WIDTH=100 BGCOLOR="blanco"> < I>Salario</I> </ /TH>
< TR> < TD ALIGN=CENTRO> < %= rset.getString(1) %> < /TD>
< TD ALIGN=CENTRO> $< %= rset.getDouble(2) %> < /TD>
< /TR>
<% mientras (rset.next()) {
%>
< TR> < TD ALIGN=CENTRO> < %= rset.getString(1) %> < /TD>
< TD ALIGN=CENTRO> $< %= rset.getDouble(2) %> < /TD>
< /TR>
< % }
%>
< /TABLA>
< % }
demás {
%>
< P> Lo sentimos, ¡la consulta no arrojó filas! < /P>
<%
}
rset.close();
stmt.close();
conn.close(); // Vuelve a poner la conexión en el grupo
} captura (SQLException e) {
out.println("< P>" + "Hubo un error al realizar la consulta:");
out.println ("< PRE>" + e + "< /PRE>
<P>");
}
%>
< /CUERPO>
< /HTML>
Utilice la aplicación para almacenar en caché la conexión de la base de datos. Cada vez que se utiliza, se saca del búfer y se devuelve después de su uso.