Você está aqui: JSP (Java Server Pages) ::: JSP + MySQL ::: Passos Iniciais |
Um Bean de conexão que pode ser usado para criar uma conexão persistenteQuantidade de visualizações: 8428 vezes |
CRIANDO UM BEAN DE CONEXÃO QUE PODE SER USADO NA SESSÃO O Bean apresentado a seguir pode ser usado durante toda a sessão do usuário. Quando a sessão expira a conexão é automaticamente fechada. Use quando sua aplicação tem poucos usuários e você não quiser desperdiçar recursos criando novas conexões a cada requisição de página. 1) Crie a classe abaixo e coloque-a em um pacote chamado "estudos" dentro do diretório classes do WEB-INF de sua aplicação: package estudos; import java.sql.*; import javax.servlet.http.*; public class BeanConexao implements HttpSessionBindingListener{ private Connection connection; private Statement statement; private static final String driver = "com.mysql.jdbc.Driver"; // o nome da base de dados é "test" private static final String dbURL = "jdbc:mysql://localhost/test"; private static final String login = "root"; private static final String password = "1234"; public BeanConexao(){ try{ Class.forName(driver); connection = DriverManager.getConnection(dbURL, login, password); statement = connection.createStatement(); } catch(ClassNotFoundException e){ System.err.println("BeanConexao: driver indisponível"); connection = null; } catch(SQLException e){ System.err.println("BeanConexao: driver não foi carregado"); connection = null; } } public Connection getConnection(){ return connection; } public void commit() throws SQLException{ connection.commit(); } public void rollback() throws SQLException{ connection.rollback(); } public void setAutoCommit(boolean autoCommit) throws SQLException{ connection.setAutoCommit(autoCommit); } public ResultSet executeQuery(String sql) throws SQLException{ return statement.executeQuery(sql); } public int executeUpdate(String sql) throws SQLException{ return statement.executeUpdate(sql); } public void valueBound(HttpSessionBindingEvent event){ System.err.println("BeanConexao: no método valueBound"); try{ if(connection == null || connection.isClosed()){ connection = DriverManager.getConnection(dbURL, login, password); statement = connection.createStatement(); } } catch(SQLException e){ connection = null; } } public void valueUnbound(HttpSessionBindingEvent event){ try{ connection.close(); } catch(SQLException e){ // faz nada aqui } finally{ connection = null; } } protected void finalize(){ try{ connection.close(); } catch(SQLException e){ // faz nada aqui } } } <%@ page language="java" import="java.sql.*" %> <jsp:useBean id="conn" class="estudos.BeanConexao" scope="session"/> <html> <head><title>Aprendendo JSP</title> </head> <body> <% // conn é a conexão com o banco de dados if(conn != null){ out.println("Conexão efetuada com sucesso!<br><br>"); } // executa um update conn.executeUpdate("UPDATE USUARIOS SET SENHA = '1234', IDADE = 35 " + " WHERE CODIGO = 434"); // insere um novo registro conn.executeUpdate("INSERT INTO USUARIOS " + "VALUES('', 560, 'Marcos da Silva', '4321', 54)"); // faz um select String query = "SELECT * FROM USUARIOS WHERE CODIGO > 400"; ResultSet rs = conn.executeQuery(query); while (rs.next()) { int id = rs.getInt("CODIGO"); out.println("ID: " + id + "<br>"); String nome = rs.getString("NOME"); out.println("NOME: " + nome + "<br>"); String s = rs.getString("SENHA"); out.println("SENHA: " + s + "<br>"); int idade = rs.getInt("IDADE"); out.println("IDADE: " + idade + "<br><br>"); } %> </body> </html> |
Link para compartilhar na Internet ou com seus amigos: |
Vamos testar seus conhecimentos em |
Vigas a flexão simples: seções retangulares O objetivo do dimensionamento de estruturas de concreto é obter segurança e economia. Muitas vezes, o projeto arquitetônico não possibilita vigas muito altas para grandes vãos. Uma solução adotada para esse tipo de situação, quando o concreto da seção da viga mais solicitada pode não resistir ao esforço de compressão, é adotar armadura dupla. Considere que uma viga V (20x30) tem uma solicitação de momento fletor de 65,20kN.m. O concreto utilizado nessa viga tem resistência de 30MPa e a agressividade ambiental do local é classe II (considere que é uma viga pouco solicitada). Das alternativas a seguir, assinale aquela que apresenta a área de aço da armadura comprimida dessa viga. A) 1,48cm2. B) 1,94cm2. C) 5,48cm2. D) 7,83cm2. E) 9,77cm2. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais As variações de temperatura causam ações nas estruturas. Tanto isso é verdade que é recomendado, em lajes com área grande, as tão conhecidas juntas de dilatação para evitar que ocorram fissuras no concreto devido às deformações causadas pelo carregamento térmico. A ação devido às variações de temperatura é classificada como? A) Ação acidental direta. B) Ação permanente indireta. C) Ação permanente direta. D) Ação acidental indireta. E) Ação excepcional. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações profundas A ABNT reconhece a execução dos seguintes tipos de estaca: madeira, aço, concreto pré-moldado, concreto moldado in loco, argamassa, calda de cimento ou qualquer combinação deles. Com base no exposto, assinale a alternativa que define estaca metálica ou de aço. A) Estaca armada e preenchida com argamassa de cimento e areia, moldada in loco e executada por perfuração rotativa ou rotopercussiva, revestida integralmente, no trecho em solo, por um conjunto de tubos metálicos recuperáveis. B) Estaca executada por perfuração do solo com uma sonda ou piteira e revestimento total com camisa metálica, realizando-se gradativamente o lançamento e apiloamento do concreto, com retirada simultânea do revestimento. C) Estaca cravada, constituída de elemento estrutural metálico produzido industrialmente, podendo ser de perfis laminados ou soldados, simples ou múltiplos, tubos de chapa dobrada ou calandrada, tubos com ou sem costura e trilhos. D) Estaca moldada in loco, armada, executada por perfuração rotativa ou rotopercussiva e injetada com calda de cimento por um tubo com válvulas. E) Estaca executada por perfuração do solo por trado mecânico, construída totalmente sem o emprego de revestimento ou de um fluido estabilizante. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Vantagens e Desvantagens do Concreto Armado O concreto armado é composto pelo concreto simples e por barras de aço estrategicamente posicionadas no interior do concreto. O trabalho conjunto é garantido pela aderência entre os materiais que o compõem e, com isso, o concreto armado une a resistência à compressão do concreto com a resistência à tração do aço. Com relação às características do concreto armado, assinale a alternativa correta: A) O concreto armado tem elevada resistência à compressão e baixa resistência à tração. B) As armaduras colocadas na parte inferior de vigas de concreto absorvem os esforços de tração de uma peça sujeita à flexão e controlam o aparecimento de fissuras. C) As armaduras de peças de concreto armado se limitam a absorver os esforços gerados por solicitações normais de tração. D) É preciso ter cuidado ao utilizar o concreto e o aço em conjunto, já que são materiais distintos. E) O concreto armado surgiu apenas no século XX, quando passou a ser utilizado também no Brasil. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Sondagem à Percussão (SPT) e Rotativa (RQD) O ensaio SPT pode ser recomendado de forma exclusiva nos seguintes casos: A) Um solo com presença de matacões, como são os solos coluvionares. B) Em solo residual de lamitos com ambiente bem drenado. C) Em solos transportados de leques aluviais. D) Em solos de cascalho de beira de rio. E) Em solos com presença de areias muito compactas. Verificar Resposta Estudar Cards Todas as Questões |
Veja mais Dicas e truques de JSP (Java Server Pages) |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |