Sou um iniciante nato em java, portanto gostaria e muito do apoio de vcs!!!
fiz um JSP para um formulário de inscrição. O form do JSP ficou assim
<formmethod="POST"name="FICHA DE INSCRIÇÃO"action="ChamaInsercao">
A chamada ficou Ok e deixei uma msg de teste dentro do metodo post do servlet e exibiu OK.
Acontece que tenho q inserir registro, e para isso tenho uma classe java que conecta no meu banco postgres.
Conexaoconecta=newConexao();conecta.Connection();
Ja tentei de todas as formas chamar a classe java pelo servlet mas sem sucesso algum. Alguem sugere algo para que eu possa fazer diferente ou então me exemplificar.
Não entendi por que você não pode achar a classe dentro da servlet, Servlets são como qualquer outra classe java.
Declare a variável, use o new para instanciar, e chame seus métodos. Não esqueça de importar a classe que você quer chamar, e se usar bibliotecas externas, tenha certeza que elas estejam no classpath do teu projeto.
Poste o código da tua servlet se tiver mais dúvidas.
java_new
Na verdade pensei em deixar as coisas mais separadas possíveis, mas vc tem razão posso fazer o insert logo no servlet sem problemas.
Peguei meu código e implementei no método post do servlet. e onde eu declaro meu método “protected void doPost” está dando a mensagem:
doPost(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) in com.meu.servlet.ChamaInsercao cannot override doPost(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) in javax.servlet.http.HttpServletRequest; overriden method does not throw java.lang.ClassNotFoundException
/* * ChamaInsercao.java * * Created on 10 de Maio de 2008, 15:04 */packagecom.meu.servlet;importcom.meu.servlet.Conexao;importjava.io.*;importjava.net.*;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.ResultSet;importjava.sql.Statement;importjava.util.Date;importjavax.servlet.*;importjavax.servlet.http.*;publicclassChamaInsercaoextendsHttpServlet{privateConnectionconn;protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html;charset=UTF-8");PrintWriterout=response.getWriter();out.close();}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{processRequest(request,response);}protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException,ClassNotFoundException{Connectioncon=null;try{Class.forName("org.postgresql.Driver");con=DriverManager.getConnection("jdbc:postgresql://localhost:5432/nti_desenv","dba","admin");try{intn=RepositorioInscricoes.inclui(conn);conn.commit();System.out.println("inscricao "+n+" feita com sucesso.");}catch(SQLExceptione){System.out.println('\n'+"Erro na inclusão de um empregado.");e.printStackTrace();System.exit(1);}}catch(SQLExceptione){e.printStackTrace();}finally{try{con.close();}catch(SQLExceptiononConClose){System.out.println("Houve erro no fechamento da conexão");onConClose.printStackTrace();}}}}
B
Bruno_Laturner
java_new:
Na verdade pensei em deixar as coisas mais separadas possíveis, mas vc tem razão posso fazer o insert logo no servlet sem problemas.
Peguei meu código e implementei no método post do servlet. e onde eu declaro meu método “protected void doPost” está dando a mensagem:
doPost(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) in com.meu.servlet.ChamaInsercao cannot override doPost(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) in javax.servlet.http.HttpServletRequest; overriden method does not throw java.lang.ClassNotFoundException
O ideal é separar as classes, mas primeiro tem que aprender a como separar e usar essas classes.
Quanto ao erro, você não pode atirar a exceção ClassNotFoundException no método doPost, pois o doPost da classe que você está estendendo, a HttpServletRequest, também não atira.
java_new
se eu tiro esta exceção dá erro na linha em que registro o driver do banco
Class.forName("org.postgresql.Driver");
“unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown”