Duvidas sobre Erro de Formuláro

0 respostas
felipereisbr

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)
Criado 17 de outubro de 2006
Respostas 0
Participantes 1