1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Java Web + Apache Derby

Boa tarde Galera. Tenho uma Classe dbAccess


package dbaccess;
/**
 * Classe responsável pela conexão e desconexão com o SGBD
 * @author jsqlgen
 */
public class DBAccess {
    private java.sql.Connection connection;
    /** 
     * Construtor
     * @throws ClassNotFoundException throws when JDBC Driver is not found
     * @throws java.sql.SQLException throws when Driver Manager can't connect to Database
     */
    public DBAccess() throws ClassNotFoundException, java.sql.SQLException {
            String drv = "org.apache.derby.jdbc.ClientDriver";
            String url = "jdbc:derby://localhost:1527/Stefani;create=true;";
            String user = "super";
            String password = "h39wa372";
            connect(drv, url, user, password);
            createTables();
    }

    /**
     * Conecta no Banco de Dados
     * @param drv
     * @param url
     * @param user
     * @param password
     * @throws ClassNotFoundException throws when JDBC Driver is not found
     * @throws java.sql.SQLException throws when Driver Manager can't connect to Database
     */
    private void connect(String drv, String url, String user, String password) throws ClassNotFoundException, java.sql.SQLException {
        Class.forName(drv);
        connection = java.sql.DriverManager.getConnection(url, user, password);
    }

    /**
     * 
     * @param fileIni 
     * @throws ClassNotFoundException throws when JDBC Driver is not found
     * @throws java.sql.SQLException throws when Driver Manager can't connect to Database
     */
    private void connect(java.util.Properties fileIni) throws ClassNotFoundException, java.sql.SQLException {
        connect(fileIni.getProperty("driver"), fileIni.getProperty("url"), fileIni.getProperty("user"), fileIni.getProperty("password"));
    }

    /**
     * Desconecta no Banco de Dados
     * @throws java.sql.SQLException throws when Driver Manager can't disconnect from Database
     */
    public void disconnect() throws java.sql.SQLException {
        connection.commit();
        connection.close();
    }

    /** @return the connection */
    public java.sql.Connection getConnection() {
        return connection;
    }
    /** Cria tabelas 
     * @throws java.sql.SQLException throws when Driver Manager can't disconnect from Database
     */
    private void createTables() throws java.sql.SQLException {
        String sql = "SELECT COUNT(*) FROM SYS.SYSTABLES WHERE TABLETYPE='T'";
        java.sql.Statement statement = connection.createStatement();
        java.sql.ResultSet resultSet = statement.executeQuery(sql);
        if (resultSet.next()) {
            if (resultSet.getInt(1) == 0) {
                if (javax.swing.JOptionPane.showConfirmDialog(null, "O sistema criará o banco de dados.\nClique em <OK> para continuar.", "Aviso", javax.swing.JOptionPane.OK_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE) == javax.swing.JOptionPane.OK_OPTION) {
                    usuario.UsuarioDAO.createTable(connection);
                } else {
                    statement.close();
                    this.disconnect();
                    System.exit(1);
                }
            }
        }
        statement.close();
    }
}

minha pagina inicial (index.jsp)


<%-- 
    Document   : index
    Created on : 24/11/2014, 16:56:54
    Author     : Usuario
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
    dbaccess.DBAccess dbAccess = new dbaccess.DBAccess();

    request.getSession().setAttribute("dbAccess", dbAccess);
%>
<html>
    <head>
        <title>Index</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" href="css/index.css" type="text/css"/>
    </head>
    <body>
        <div class="container">
            <div class="header">
                <img alt="Logo Empresa" src="img/Nova Logomarca 01.JPG">
            </div>
            <div class="form">
                <form action="ServletUsuario?action=login" method="POST">
                    <input type="text" name="login" placeholder="Login:">
                    <input type="password" name="senha" placeholder="Senha:">
                    <input type="submit" value="Logar">
                </form>
            </div>
        </div>
    </body>
</html>

agora minha duvida. Quando vou executar meu projeto ele nao aparece nada na tela, fica rodando ate dar TimeOut no Tom cat. se eu tirar o Codigo


<%
    dbaccess.DBAccess dbAccess = new dbaccess.DBAccess();

    request.getSession().setAttribute("dbAccess", dbAccess);
%>

ele funciona que é uma beleza. O que pode ser feito? tem algo de errado com minha conexão? no Log do tom Cat não aparece nada apenas que foi executado com sucesso no Log do Derby não aparece nada também e estou ficando triste com isso :c

Alguém pode me ajudar ?

  • Não entendi o problema: se você diz que tirando o tal trecho de código funciona, então não vejo qual é a questão. E use servlets no lugar de colocar esses scriplets dentro da JSP, pois dificulta a manutenção do sistema.

    Roger75   26 de nov de 2014
  • Me desculpe mas achei o erro, A Parte de "if (javax.swing.JOptionPane.showConfirmDialog(null, "O sistema criará o banco de dados.\nClique em para continuar.", "Aviso", javax.swing.JOptionPane.OK_CANCEL_OPTION, javax.swing.JOptionPane.WARNING_MESSAGE) == javax.swing.JOptionPane.OK_OPTION)" Era a questão, ele não aparecia de cara para mim. Desculpe a minha falta de atenção!

    zerossB   26 de nov de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee apache jdbc banco-de-dados ou faça a sua própria pergunta.