Anteriormente, mencionamos que os programas JSP são módulos e possuem poderosas funções de solicitação de apresentação. Estabelecer um acesso perfeito ao banco de dados é um processo desafiador, e a interface JDBC pode completar bem esse processo. No entanto, o código JDBC incorporado no código JSP, assim como os comandos SQL incorporados no JDBC, podem fazer uso total dos recursos do JSP para criar uma API limpa e simples para clientes. Para atingir esse propósito, podemos considerar o uso de operações JSP para estabelecer componentes de interface de banco de dados.
O padrão de design JSP perfeito é Model-View-Controller (MVC). O sistema tradicional de três camadas é: Modelo é para lógica de programa e dados; Visualização é para visualização e Controlador é para processamento de solicitações. Seguindo este modelo, um programa JSP contém páginas para cada "linha" de uma "caixa de diálogo" cliente-servidor. Em um programa típico, você pode ver uma página de consulta, uma página de validação, uma página de inserção de banco de dados, uma página de atualização de banco de dados e assim por diante.
No artigo anterior, discutimos como incorporar JDBC em cada página para garantir que a estrutura do programa seja mais razoável. No entanto, a criação de comandos SQL executáveis, bem como variáveis passadas através de comandos JDBC, também pode aumentar a complexidade do programa.
Operações JSP projetadas por JDBC
Outra abordagem para operações de banco de dados JSP é criar uma coleção de operações para o banco de dados sem usar JDBC. Usando essa abordagem, você pode obter dois benefícios: primeiro, você pode eliminar a necessidade de usar JDBC, o que simplifica muito o trabalho; segundo, seu design e organização de código são mais razoáveis (como legibilidade, flexibilidade, desempenho e capacidade de manutenção).
Você ainda precisa de alguns drivers, mas primeiro simplifique o acima. As operações em um programa JSP são blocos lógicos que geralmente são escritos e usados por outros desenvolvedores de programas JSP, mas você pode usá-los como sub-rotinas. A importância de usar operações JSP é padronizar certas funções e minimizar a quantidade de código Java incorporado em JSP.
JSP fornece um conjunto de classes de extensão padrão. Através dessas classes, você pode definir uma operação por meio de um manipulador de tags. Existem duas interfaces Java definidas por JSP: interface Tag e interface BodyTag, que são executadas pela classe TagSupport e pela classe BodyTagSupport respectivamente.
Você pode criar uma biblioteca de tags para propósitos JSP gerais e também implementar manipuladores de tags para estender o suporte de classe. Aqui estão as etapas para implementar esses processos.
Primeiro, execute uma classe de gerenciador de tags:
packagecom.myactions;
(declarações de importação vão aqui)
classe pública MyActionTag estende TagSupport {
...
}
Em seguida, compile esse código e coloque o arquivo de classe na biblioteca de classes do programa. Então, você precisará de um arquivo Tag Library Descriptor (TLD), que é um arquivo XML que corresponde ao nome da sua ação e à classe do gerenciador de tags correspondente.
<tag>
<name>MinhaAção</name>
<tagclass>com.myactions.MyActionTag</tagclass>
<bodycontent> (tanto faz) </bodycontent>
<attribute>meusdados</attribute>
</tag>
</tag>
Trialware relacionado
Suponha que você tenha criado uma ação chamada MyAction, que é um TLD que corresponde à classe com.myactions.MyActionTag. O arquivo TLD deve estar localizado no caminho dos TLDs do programa.
Quando você chama uma operação de uma página JSP, o TLD informa ao JSP a classe correta para usar a operação. Isso traz grande comodidade e requer apenas uma pequena quantidade de código.
Mas onde introduzir o SQL? Primeiro, você precisa estabelecer acesso ao banco de dados com recursos de conexão. Você pode fazer isso usando a interface javax, que está disponível na caixa de ferramentas opcional do JDBC 2.0. A classe javax.sql.DataSource do JDBC 2.0 fornece a conexão que você precisa.
Onde o SQL está localizado neste momento? Está no feijão. Você pode usar JDBCcreateStatement e PreparedStatement para criar um método em um bean. Torne este método um Vector público e passe suas instruções SQL para este método corretamente.
Resumo Seu bean de banco de dados executa uma instrução SQL integrada no corpo da ação. Você pode passar uma instrução para a instrução SQL ou usá-la para executar uma pré-operação. Você pode realizar suas ações através do gerenciador de tags. Como o JDBC está incorporado no código da biblioteca, você não poderá usá-lo explicitamente em um programa JSP.
À primeira vista, essa abordagem pode parecer mais complexa do que SQL incorporado em JDBC e JDBC incorporado em JSP, mas como você cria operações SQL e as armazena em um TLD, você só precisa fazê-las uma vez, em todos os programas JSP que você pode acessar. essas operações. Esta é a vantagem desta abordagem.
Na próxima vez falaremos sobre transferência de dados entre páginas e sessões JSP.