Java Server Pages (JSP), que facilita o desenvolvimento rápido de programas do lado do servidor, tornou-se uma ferramenta amplamente popular. Embora o lado monótono ainda exista, não importa quantas deficiências ele contenha, JSP tem muito a oferecer aos programadores da Web, especialmente com operações de entrada e saída de banco de dados e processamento de dados.
O acesso ao banco de dados via JSP não requer muita orientação. O problema é como fazer com que os desenvolvedores aceitem que o acesso a bancos de dados a partir de programas Web é mais atraente do que o acesso a bancos de dados a partir de sistemas OLAP locais tradicionais, e fazê-los perceber que métodos de acesso a dados limpos e concisos são fundamentais. Neste ponto, o JSP pode resolver isso muito bem.
O que você pode fazer?
Se você estiver escrevendo um programa da Web com alto volume e alta densidade de dados, quais requisitos seu acesso ao banco de dados deve ter? Se você estiver usando JSP, terá que lidar com muitos dados do lado do servidor. O programa pode exigir grandes quantidades de dados, muitos usuários ou uma combinação dos dois. As possíveis áreas que você também pode considerar incluem: otimização de desempenho, detectabilidade, impacto de múltiplas consultas por usuário, complexidade de consulta e conversão de tipo de alto nível quando uma única sessão lida com grandes quantidades de dados.
Isso envolve processamento em grande escala. No entanto, JSP pode ajudá-lo a lidar bem com isso porque é bem compatível com a API Java Database Connectivity (JDBC). Você pode incluir JDBC no código JSP, e o JDBC pode passar instruções para executar comandos semelhantes a bancos de dados, desde que você use o driver JDBC corretamente.
começar
Aqui está um sistema de execução de programa JSP geral e abstrato. O padrão de design JSP preferido é Model-View-Controller (MVCModel-View-Controller), que é uma variação do sistema tradicional de três camadas para melhor se adequar aos programas de servidor. No padrão de design MVC do JSP, Modelo refere-se à lógica e aos dados do programa, Visualização refere-se à visualização e Controlador refere-se ao processamento de solicitações.
Ao projetar um programa JSP, é melhor criar uma página que seja a primeira etapa entre a interação do cliente e do servidor. Por exemplo, em um programa típico, haveria páginas para cada etapa específica na troca de dados: uma página de entrada de dados, uma página de solicitação de validação, uma página de resposta do banco de dados e subpáginas dessas páginas (uma página de registro de alterações, uma página de exclusão de registros páginas, etc.).
Você pode incorporar JDBC em cada página para concluir as operações solicitadas do banco de dados. Porém, esta operação também traz um grande risco, pois todo o programa é misturado misturando JSP e JDBC-JDBC é baseado em SQL. Isso significa que o SQL é encapsulado em JDBC, e o JDBC também é encapsulado em JSP – isso é o suficiente para deixá-lo tonto. Se você escolher essa abordagem, obterá a funcionalidade desejada, mas tome cuidado extra para garantir que a relação entre a lógica do programa e o código de acesso ao banco de dados seja muito clara.
JDBC incorporado
A API JDBC não se comunica diretamente com o banco de dados. A conexão propriamente dita é feita pelos drivers, que você pode baixar no site do vendedor. Além disso, existem quatro tipos de driver JDBC. Se você decidir usar JDBC, precisará escolher corretamente o tipo que melhor atende às suas necessidades. Você usará uma classe DriverManager para lidar com conexões baseadas em driver.
Você pode usar um método DriverManager chamado getConnection para estabelecer sua conexão com o banco de dados. Você também pode identificar o banco de dados usando seus parâmetros de URL:
public static Connection getConnection(jdbc:odbc:nameOfDatabase)
Agora, informe ao DriverManager sobre o driver (deve estar em seu classpath):
Class.forName("sun.jdbc. odbc.nameOfJDBCDriver ”);
Você conectou o banco de dados ao programa JSP, mas ainda não consegue executar um comando de banco de dados. Para resolver isso, você pode gerar a instrução no código JSP para estabelecer o comando do banco de dados como este:
public Statement createStatement(intresultSetType, intresultSetConcurrency)
Os parâmetros permitem controlar os resultados obtidos na consulta ao banco de dados. Ao utilizar o primeiro parâmetro, você pode ver os resultados no programa; ao utilizar o segundo parâmetro, você pode atualizar o valor através da consulta (este é um recurso incrível que merece uma discussão mais aprofundada em um artigo futuro).
A Tabela A mostra a complexidade de enumerar os próximos dois métodos.
Instruções são comandos SQL. PreparedStatement é uma instrução SQL e você pode controlar o processo do programa por meio de seus parâmetros. CallableStatement é usado para acessar procedimentos armazenados SQL. Você está começando a perceber que se não vir essas instruções, você acha essas afirmações complicadas? Observe que, ao chamar o método rollback, você pode desfazer o processo de transação.
Se você quiser usar todos esses métodos de acesso ao banco de dados, a única coisa que falta é:
ResultSetexecuteQuery(string sqlQuery)
(Você pode usar executeQuery para concluir o processo acima. Você também pode usar um executeUpdate para concluir atualizações, inserções e exclusões). Sua interface de declaração acima permite usar vários métodos para executar declarações SQL. Tudo o que o ResultSet faz é acessar os dados obtidos na consulta, para que você possa utilizar esses dados em seu programa JSP.
Ao dividir os programas JSP em páginas únicas e funcionalmente óbvias e executar uma única operação de banco de dados em qualquer página, você pode simplificar bastante as operações do banco de dados e criar páginas que podem ser usadas para desenvolvimento futuro de programas, mesmo se você incorporar o SQL ao JDBC nessas páginas. .
Mas há mais que você pode fazer para tornar o acesso ao banco de dados JSP mais limpo e fácil de manter. Incorporar JDBC no código JSP e comunicar-se com o banco de dados enviando comandos SQL é um bom processo. No entanto, requer a construção de um programa para comandos SQL através da interface sem aumentar a complexidade do código. Quando seu processamento SQL precisar de maior flexibilidade, você poderá separar ainda mais o código da interface do banco de dados para limpar seus programas JSP. No artigo a seguir, direi como implementar esses processos.