Jsp chama o comando Javeabean. Existem configurações de escopo no UseBean e geralmente existem configurações como Página de sessão do aplicativo. É
um novo objeto javabean no usebean que é regenerado para cada página. , você pode usá-lo.
Sessão
e aplicativo significam que o javabean sempre existirá. Em comparação com a sessão, o aplicativo é relativo ao aplicativo e
sempre existirá
.., semelhante a
um programa servlet, semelhante às "variáveis globais" de todo o sistema, e há apenas uma instância.
Funções de controle no MVC
Portanto, o recurso do aplicativo é muito adequado para as funções de controle no MVC. Geralmente, o MVC tradicional usa servlets para funções de controle. V é
basicamente
uma página Jsp e M é um Javabean de middleware.Porém, com o aprimoramento e promoção das funções Jsp, há uma tendência gradual de substituição de servlets. Na prática, usamos mais Jsp. Às vezes,
para
evitar problemas, Jsp é usado em vez de servlet, principalmente sua função de controle.Na verdade, esta função de controle é encapsulada em um Javabean. Jsp usa scope=application para chamar este Javabean. Dessa forma
, o Javabean com função de controle é como um servlet residente na memória e interage com vários middlewares de segundo plano.
A exibição da "página inicial"
em aplicações práticas Muitas vezes temos vários usuários acessando uma página ao mesmo tempo, como a página inicial. Existem muitas funções para executar nesta página inicial, como
a classificação de diretório. deve ler os dados da árvore do banco de dados e expandir e enviar para a página inicial. Esta função é encapsulada em Javabeans.
Então, quando o Jsp da página inicial chamar esse Javabean, use scope=application e, em seguida, use o algoritmo de buffer de dados da árvore. Dessa forma, quando vários
usuários
acessam a página inicial ao mesmo tempo, o JSP da página inicial não precisa iniciar o Javabean todas as vezes. e então leia o banco de dados repetidamente.Sem dúvida, aumentará muito a velocidade.
Portanto, se a sua página inicial Jsp tiver um grande número de visitas, você deverá dedicar mais tempo a otimizá-la.
Buffer de conexão de banco de dados
<jsp:useBean id="códigos"
class="oracle.jdbc.pool.OracleConnectionCacheImpl"
escopo="aplicativo" />
<evento:aplicativo_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.*" %>
< !------------------------------------------------ ----------------
* Esta é uma página JavaServer que usa cache de conexão
aplicativo
* escopo O Cache é criado em um escopo de aplicação em
arquivo globals.jsa.
* A conexão é obtida do Cache e reciclada uma vez
feito
.------------------------------------------------ --------------------!>
<HTML>
<CABEÇA>
<TÍTULO>
ConnCache JSP
</TÍTULO>
</HEAD>
<BODY BGCOLOR=EOFFFO>
<H1>Olá
< %= (request.getRemoteUser() != null? ", " +
request.getRemoteUser(): "") %>
! Estou com cache de conexão JSP.
</H1>
<RH>
<B> Pego a Conexão do Cache e a reciclo de volta.
</B>
<P>
<%
tentar {
Conexão conexão = cods.getConnection();
Instrução stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery ("SELECT ename, sal " +
"FROM scott.emp ORDER BY nome");
if (rset.next()) {
%>
<BORDA DA TABELA=1 BGCOLOR="C0C0C0">
< TH WIDTH=200 BGCOLOR="white"> < I>Nome do funcionário</I> </ /TH>
< TH WIDTH=100 BGCOLOR="white"> < I>Salário</I> </ /TH>
<TR> < TD ALIGN=CENTRO> < %= rset.getString(1) %> < /TD>
< TD ALIGN=CENTRO> $< %= rset.getDouble(2) %> < /TD>
</TR>
<% enquanto (rset.next()) {
%>
<TR> < TD ALIGN=CENTRO> < %= rset.getString(1) %> < /TD>
< TD ALIGN=CENTRO> $< %= rset.getDouble(2) %> < /TD>
</TR>
< % }
%>
</TABELA>
< % }
outro {
%>
<P> Desculpe, a consulta não retornou nenhuma linha </P>!
<%
}
rset.close();
stmt.close();
conn.close(); // Coloca a conexão de volta no pool
} catch (SQLException e) {
out.println("< P>" + "Ocorreu um erro ao fazer a consulta:");
out.println ("< PRE>" + e + "< /PRE>
<P>");
}
%>
</BODY>
</HTML>
Use o aplicativo para armazenar em cache a conexão do banco de dados Cada vez que é usado, ele é retirado do buffer e retornado após o uso.