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
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”.