Serah que estah certo

7 respostas
D

fiz este servlet com o intuito de fazer insercao no banco…
tenho um objeto Colaborador…que possui atributos dentre eles um vetor de Telefones, um objeto Endereco e um objeto Data.

compilei ele no jcreator e tah ok…quando executo no tomcat…dah um monte de erros…mas naum sei se eh por causa do codigo ou se meu wem.xml estah errado…

package operacoesbd;
import conexao.Conexao;
import beans.*;
import utils.Data;
import javax.servlet.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class CadColaborador extends HttpServlet {
	Conexao con;
	Colaborador pessoa;
	Endereco endereco;
	Telefone tel;	
	Data dt;
public void doGet (HttpServletRequest request,HttpServletResponse response) throws IOException {
	
	endereco=new Endereco();
	endereco.setLogradouro(request.getParameter("logradouro"));
	endereco.setBairro(request.getParameter("bairro"));
	endereco.setCidade(request.getParameter("cidade"));
	endereco.setEstado(request.getParameter("estado"));
	endereco.setCep(Integer.parseInt(request.getParameter("cep")));

	dt=new Data();
	
	pessoa=new Colaborador();
	pessoa.setNome(request.getParameter("nome"));
	pessoa.setApelido(request.getParameter("apelido"));
	pessoa.setRgIe(request.getParameter("rgIe"));
	pessoa.setCpfCgc(request.getParameter("cpfCgc"));
	pessoa.setEndereco(endereco);
	pessoa.setNumEndereco(Integer.parseInt(request.getParameter("numEndereco")));
	pessoa.setRefEndereco(request.getParameter("refEndereco"));
	pessoa.setDtCadastro(dt);
	
	int j=1;
   	int tipo=0;
   	String tipot="";
	for (int i=0;i<4;i++){
	tel=new Telefone();
	tel.setDDI(request.getParameter("ddi"+j));
	tel.setDDD(request.getParameter("ddd"+j));
	tel.setFone(request.getParameter("fone"+j));
	tipot=request.getParameter("tipo"+j);
	if(tipot.equals("Comercial")){
		tipo=1;
	}if(tipot.equals("Residencial")){
		tipo=2;
	}if(tipot.equals("Celular")){
		tipo=3;
	}if(tipot.equals("Fax")){
		tipo=4;
	}
	tel.setTipo(tipo);
	if(j==1){
	pessoa.setFone1(tel);
	}if(j==2){
		pessoa.setFone2(tel);
	}if(j==3){
		pessoa.setFone3(tel);
	}if(j==4){
		pessoa.setFone4(tel);
	}
	j++;
	}
	boolean contribuinte=false;
	if(request.getParameter("contribuinte").equals("true")){
		contribuinte=true;
	}
	pessoa.setContribuinte(contribuinte);
	pessoa.setSisTributario(request.getParameter("sisTributario"));
	
	int tipoc=0;
	String tpc=request.getParameter("situacao");
	if(tpc.equals("Cliente")){
		tipoc=1;
	}else{
		tipoc=2;
	}
	pessoa.setTipo(tipoc);
	inserir();
}	
public void inserir(){
	
	try{
		con=new Conexao();
		con.executeUpdate("insert into os_colaborador(nome,apelido,rgie,cpfcgc,endereco,numendereco,refendereco,fone1,fone2,fone3,fone4,contribuinte,sistributario,dtcadastro,tipo) values '"+pessoa.getNome()+"','"+pessoa.getApelido()+"','"+pessoa.getRgIe()+"','"+pessoa.getCpfCgc()+"','"+pessoa.Endereco()+"',"+pessoa.getNumEndereco()+",'"+pessoa.getRefEndereco()+
		"','"+pessoa.getFone1()+"','"+pessoa.getFone2()+"','"+pessoa.getFone3()+"','"+pessoa.getFone4()+"','"+pessoa.getContribuinte()+"','"+pessoa.getSisTributario()+"','"+pessoa.getDtCadastro()+"',"+pessoa.getTipo()+")");
		System.out.println("registro inserido");
	}catch (SQLException ex){
	System.out.println(ex);
	}finally{
	if(con!=null)
	con.fecharConexao();
	con=null;
	}
}
}

7 Respostas

V

:???: Pode ser tanta coisa… Pra facilitar, posta aí quais foram as mensagens de erro.

D
HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

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

exception 

javax.servlet.ServletException: Error allocating a servlet instance
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:672)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
	at java.lang.Thread.run(Thread.java:534)


root cause 

java.lang.NoClassDefFoundError: operacoesbd/CadColaborador (wrong name: operecoesbd/CadColaborador)
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1679)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:968)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1409)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1289)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:885)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:668)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
	at java.lang.Thread.run(Thread.java:534)
D

nossa… ta foda heim…

a sua conexao com o banco ta okay!??!
O seu arquivo .java tem o memo nome da classe q extende HttpServlet (inclusive os mauisculos e minusculos) ?!?!

D

Tem o mesmo nome inclusive os maiusculos e minusculos…a Conexao tah ok…pq eh uma classe que uso na aplicacao toda e tem uma parte da aplicacao que eh para fazer o login…e ali pude testar que ela tah ok…
vou te passar como estah a minha estrutura de pastas e o web.xml…de repente pode ser alguma coisa ali.

OS(nome da aplicacao)
  |----WEB-INF
             |-------classes
                            |-------beans
                            |-------conexao
                            |-------utils
                            |-------operacoesbd

onde o CadColaborador.class estah dentro de operacoesbd
meu web.xml estah assim:

<?xml version="1.0" encoding="ISO-8859-1"?> 

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd"> 

<web-app> 
	<servlet>
	    <servlet-name>CadColaborador</servlet-name>
	    <servlet-class>operacoesbd.CadColaborador</servlet-class>
	</servlet>
	<servlet-mapping> 
            <servlet-name>CadColaborador</servlet-name> 
            <url-pattern>/servlet/CadColaborador</url-pattern> 
	</servlet-mapping> 
</web-app>

e o formulario chama o servlet desse modo:

<form method="GET" action="servlet/CadColaborador">

putz…tah muito foda…pq sao tantas coisinhas para olhar…pode ser o web.xml…pode ser o servlet…

[]'s

D

Obrigada pela ajuda pessoal…
jah achei o erro…ou erros…

[]'s

E

“Diana”:
Obrigada pela ajuda pessoal…
jah achei o erro…ou erros…

[]'s

E o que que era ?

G

“Diana”:
Obrigada pela ajuda pessoal…
jah achei o erro…ou erros…

[]'s

Agora fiquei curioso também… :grin:

Criado 28 de junho de 2004
Ultima resposta 1 de jul. de 2005
Respostas 7
Participantes 5