Olá gente, estou desenvolvendo uma aplicação em que nesta tenhu um cadastro de funcionários, não estou utilizando nenhum framework.
JSP e Servlet.
Meu problema é que quando faço a inserção de dados com o método [b]MAIN/b a inserção é feita com sucesso.
Mas quando faço a inserção com o [b]formulário HTML/b, ele não inseri e me gera alguns erros.
Não consegui descobri onde está o erro, se puderem me dar uma ajuda, ficarei grato!
Os códigos e o Erro gerado vai abaixo!
Grato Reis
CadastroFuncionario.java
package br.com.estacio.faculdade.dominios;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.estacio.faculdade.base.AcessoDados;
import br.com.estacio.faculdade.base.AcessoDadosFuncionario;
import br.com.estacio.faculdade.base.Endereco;
import br.com.estacio.faculdade.base.Funcionario;
import br.com.estacio.faculdade.base.Pessoa;
public class CadastroFuncionario extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
public CadastroFuncionario() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Informações Funcionário;
String nomeFunc = request.getParameter("nome_func");
String dataFunc = request.getParameter("data_func");
String cpfFunc= request.getParameter("cpf_func");
String emailFunc= request.getParameter("email_func");
String rgFunc = request.getParameter("rg_func");
String telefoneFunc = request.getParameter("telefone_func");
String senhaFunc = request.getParameter("senha_func");
String sobrenomeFunc = request.getParameter("sobrenome_func");
String sexoFunc = request.getParameter("sexo_func");
Funcionario f = new Funcionario();
f.setNome(nomeFunc);
f.setDatan(dataFunc);
f.setCpf(cpfFunc);
f.setEmail(emailFunc);
f.setRg(rgFunc);
f.setTelefone(telefoneFunc);
f.setSenha(senhaFunc);
f.setSobrenome(sobrenomeFunc);
f.setSexo(sexoFunc);
try {
AcessoDados.inserirFuncionario(f);
System.out.println("Deu certo");
} catch (SQLException e) {
System.out.println("deu erro1");
e.printStackTrace();
} catch (Exception e) {
System.out.println("deu erro2");
e.printStackTrace();
}
/*
RequestDispatcher disp;
disp = request.getRequestDispatcher(destino);
disp.forward(request, response);
*/
}
// TESTANDO COM O MAIN
public static void main (String args[]){
String nomeFunc= "nomefghc";
String sobrenomeFunc = "sobrenomfgh";
String data= "03/21/2004";
String email = "[email removido]";
String cpf= "[telefone removido]";
String rg = "[telefone removido]";
String telefone= "[telefone removido]";
String senha = "123456";
String sexo= "n";
Funcionario f = new Funcionario();
f.setNome(nomeFunc);
f.setSobrenome(sobrenomeFunc);
f.setDatan(data);
f.setEmail(email);
f.setCpf(cpf);
f.setRg(rg);
f.setSexo(sexo);
f.setTelefone(telefone);
f.setSenha(senha);
try {
AcessoDados.inserirFuncionario(f);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Cadastro.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action='CadastroFuncionario' method="POST">
Cadastro de Funcionários: <br />
Nome:
<input type='text' name='nome_func'/><br/>
Sobrenome:
<input type='text' name='sobrenome_func'/><br/>
CPF:
<input type='text' name='cpf_func'/><br/>
RG:
<input type='text' name='rg_func'/><br/>
Sexo:
<BR><INPUT TYPE='radio' NAME='sexo_func' VALUE='m'> Masculino<BR>
<INPUT TYPE='radio' NAME='sexo_func' VALUE='f'> Feminino<BR>
Telefone:
<input type='text' name='telefone_func'/><br/>
Data de Nascimento:
<input type='text' name='data_func'/><br/>
E-mail:
<input type='text' name='email_func'/><br/>
Senha:
<input type='text' name='senha_func'/><br/>
<input type="submit" value="enviar">
</form>
</body>
</html>
AcessoDados.java
package br.com.estacio.faculdade.base;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class AcessoDados {
private static java.sql.Connection conexao ;
private static void criaConexao()
{
String strDriver = "org.firebirdsql.jdbc.FBDriver";
String strUrl = "jdbc:firebirdsql:localhost/3050:C:/Documents and Settings/Administrador/workspace2/ProjetoHomemMaquinaWeb/BDLOCADORA.GDB";
String strUser = "sysdba";
String strSenha = "masterkey";
try
{
System.out.println("Pegando driver para conexao com banco de dados");
Class.forName(strDriver);
System.out.println("Iniciando conexao com as seguintes configuracoes:"
+"\n - URL:["+strUrl+"]"
+"\n - Usuario:["+strUser+"]"
+"\n - Senha:["+strSenha+"]");
conexao = DriverManager.getConnection(strUrl,strUser,strSenha);
System.out.println("\nConexao com banco de dados estabelecida com sucesso.");
}
catch(ClassNotFoundException exc)
{
System.err.print("ClassNotFoundException: "+exc.getMessage());
System.err.println(exc.getMessage());
}
catch(SQLException exc)
{
System.err.println("Falha na tentativa de conexao: " + exc.getMessage());
}
}
private static void encerraConexao()
{
try
{
System.out.println("Encerrando conexao...");
conexao.close();
}
catch(SQLException exc)
{
System.err.println("Falha no encerramento da conexao: " + exc.getMessage());
}
}
public static void inserirFuncionario(Funcionario f) throws Exception {
criaConexao();
String strSQL = "INSERT INTO funcionarios " +
" (func_nome,func_sobrenome,func_data,func_rg,func_cpf,func_sexo,func_telefone,func_senha,func_email)"+
"VALUES (?,?,?,?,?,?,?,?,?)";
System.out.println("passou aki");
conexao.setAutoCommit(false);
System.out.println("passou aki");
PreparedStatement stmt = conexao.prepareStatement(strSQL);
stmt.setString(1, f.getNome());
stmt.setString(2, f.getSobrenome());
stmt.setString(3, f.getDatan());
System.out.println("passou aki23");
stmt.setString(4, f.getRg());
stmt.setString(5, f.getCpf());
stmt.setString(6, f.getSexo());
stmt.setString(7, f.getTelefone());
stmt.setString(8, f.getSenha());
stmt.setString(9, f.getEmail());
System.out.println("passou aki245");
int num = stmt.executeUpdate();
System.out.println("passou aki3");
stmt.close();
conexao.commit();
}
}
ERROS:
16/10/2006 23:13:14 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Arquivos de programas\Java\jre1.5.0_07\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
16/10/2006 23:13:14 org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
16/10/2006 23:13:14 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1203 ms
16/10/2006 23:13:15 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
16/10/2006 23:13:15 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.17
16/10/2006 23:13:15 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
16/10/2006 23:13:16 org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
16/10/2006 23:13:16 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
16/10/2006 23:13:16 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/47 config=null
16/10/2006 23:13:16 org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
16/10/2006 23:13:16 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1656 ms
Pegando driver para conexao com banco de dados
ClassNotFoundException: org.firebirdsql.jdbc.FBDriverorg.firebirdsql.jdbc.FBDriver
passou aki
passou aki
deu erro
java.lang.NullPointerException
at br.com.estacio.faculdade.base.AcessoDados.inserirFuncionario(AcessoDados.java:67)
at br.com.estacio.faculdade.dominios.CadastroFuncionario.doPost(CadastroFuncionario.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
16/10/2006 23:15:26 org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
Pegando driver para conexao com banco de dados
ClassNotFoundException: org.firebirdsql.jdbc.FBDriverorg.firebirdsql.jdbc.FBDriver
passou aki
passou aki
deu erro2
java.lang.NullPointerException
at br.com.estacio.faculdade.base.AcessoDados.inserirFuncionario(AcessoDados.java:67)
at br.com.estacio.faculdade.dominios.CadastroFuncionario.doPost(CadastroFuncionario.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)