Controle de Gastos + Banco de dados

O professor da faculdade passou um trabalho que consciste em acessar o browser e nele entrar com login e senha para que este mesmo usuario informe seus gastos que ficaram registrados no MySQL.
Comecei a fazer, seque a pagina index.jsp:

<%-- 
    Document   : index
    Created on : 19/04/2012, 12:36:55
    Author     : NIDManager
--%>

<%@page import="java.sql.*" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Controle de Gastos</title>
    </head>
    <body>
        <form name="form_principal" method="post" action="">
        <table borde="0" align="center">
            <tr>
                <td><h1>Controle de Gastos</h1></p><h4>Entre com seu Usuario e Senha</h4></td>
            </tr>
            <tr>
                <td>Login...: <input type="text" nome="usuario"></input></td>
            </tr>
            <tr>
                <td>Password: <input type="password" nome="senha"></input></td>
            </tr>
        </table>
        </form>
    </body>
</html>
          <% BondDB VinculoDB = new BondDB();
             VinculoDB.DBConectar(); %>

segue a pagina que faria a conexão com o banco de dados chamada de BondDB.java

import java.sql.*;

public class BondDB {
    public void DBConectar()
    {
        //carregar o driver
        Class.forName("com.mysql.jdbc.Driver");
        Connection conexao = null;
        //abrir a conexão
        try{
            conexao = DriverManager.getConnection("jdbc:derby://localhost:1527/ControleGastos", //fazer alterações
                    "root/","");
            System.out.println("<h2>Sucesso ! Conexão ok ...<h2>");
            }
        catch(Exception error){
            System.out.println("Erro na conexao: "+ error);
            }
        finally{
            conexao.close();
            }//F_finally
    }
}

Logico que quando rodo o programa aparece erro 500 no navegador. Gostaria de saber se alguem me ajudaria a continuar o programa e a resolver os problemas que ele tem. Desde ja agradeço.

Quando você faz o start da aplicação, aparece alguma mensagem de erro no console? Se não, quando você tenta acessar a página aparece alguma mensagem de erro?

Tem duas linhas que estão com erro no arquivo BondDB.java:

    Class.forName("com.mysql.jdbc.Driver");

e esta outra linha:

        conexao.close();

Quando aparece o navegador é exibido HTTP Status 500

org.apache.jasper.JasperException: Unable to compile class for JSP:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 30 in the jsp file: /index.jsp
BondDB cannot be resolved to a type
27:
28:
29:
30: <% BondDB VinculoDB = new BondDB();
31: VinculoDB.DBConectar(); %>
32:

An error occurred at line: 30 in the jsp file: /index.jsp
BondDB cannot be resolved to a type
27:
28:
29:
30: <% BondDB VinculoDB = new BondDB();
31: VinculoDB.DBConectar(); %>
32:

Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.14 logs.

Desde ja agradeço a ajuda.

Coloque sua classe DB dentro de um pacote. Depois importe o a classe na sua JSP.

Oi Jackfrog, desculpe a demora para responder a postagem.

Criei um pacote chamado ConexãoDB onde inseri o BondDB.java e importeio para o index.jsp.
O codigo ficou assim:

index.jsp

<%@page import="java.sql.*" contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="ConexãoDB.BondDB"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Controle de Gastos</title>
    </head>
    <body>
        <form name="form_principal" method="post" action="">
        <table borde="0" align="center">
            <tr>
                <td><h1>Controle de Gastos</h1></p><h4>Entre com seu Usuario e Senha</h4></td>
            </tr>
            <tr>
                <td>Login...: <input type="text" nome="usuario"></input></td>
            </tr>
            <tr>
                <td>Password: <input type="password" nome="senha"></input></td>
            </tr>
        </table>
        </form>
    </body>
</html>
          <% BondDB VinculoDB = new BondDB();
             VinculoDB.DBConectar(); %>

BondDB.java

package ConexãoDB;

import java.sql.*;

public class BondDB {
    public void DBConectar()
    {
        //carregar o driver
        Class.forName("com.mysql.jdbc.Driver");
        Connection conexao = null;
        //abrir a conexão
        try{
            conexao = DriverManager.getConnection("jdbc:derby://localhost:1527/ControleGastos", //fazer alterações
                    "root/","");
            System.out.println("<h2>Sucesso ! Conexão ok ...<h2>");
            }
        catch(Exception error){
            System.out.println("Erro na conexao: "+ error);
            }
        finally{
            conexao.close();
            }//F_finally
    }
}

Segue o seguinte erro no navegador:
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 32

29:
30:
31: <% BondDB VinculoDB = new BondDB();
32: VinculoDB.DBConectar(); %>
33:

e as linhas Class.forName(“com.mysql.jdbc.Driver”); e conexao.close();, continuam dando o seguinte erro:
“unreported exception java.sql.SQLException; must be caught or declared to be thrown”

Muito obrigado pela ajuda, fico no aguardo :slight_smile:

Alguém?

Tenta colocar isso aqui dentro do try/catch
Class.forName(“com.mysql.jdbc.Driver”);
Connection conexao = null;

Deu certo, amigo.

Só a linha conexao.close(); que esta com erro “cannot find symbol”.