Serializar é vc dizer pro java q um objeto daquela classe pode ser transportado… isso significa q, vc pode gravar o objeto no disco ou enviar para uma outra jvm por exemplo.
Para isso a classe deve implementar a interface Serializable… vc tah fazendo isso qdo extende a classe HttpServlet que por sua vez implementa Serializable.
java.lang.NullPointerException
at br.com.extratos.ExtratoConta.doGet(ExtratoConta.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
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)
Se vc colocar ele nesta pasta WEB-INF\lib deve funcionar, caso contrário, configure ele no java build path do projeto (botão direito no projeto -> properties -> java build path -> libraries)
Em casa funcionou bem acessando uma base MySQL Remotamente colocando o simplesmente o mysql-connector-java-5.0.7-bin.jar em WEB-INF\lib (Gostaria que o mesmo ficasse em projeto -> properties -> java build path -> libraries).
Mas quando cheguei na Empresa e tentei fazer o mesmo com ORACLE (classes12.zip), nada funcionou.
Alguém pode me dizer o PORQUÊ DISSO!?
O ERRO continua sendo o mesmo.
SEVERE: Servlet.service() for servlet ExtratoConta threw exception
java.lang.NullPointerException
at br.com.extratos.ExtratoConta.doGet(ExtratoConta.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
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)
[color=brown]Desde já agradeço a todos que estão me ajudando.[/color]
Você verificou se a connection está sendo instanciada no no ambiente da sua empresa? Pode ser algum bug escondido na criação como usuario/senha de banco inválidos.
Falei isso pq o erro (null pointer) ocorre quando vc chama um método da connection, então ela pode estar nula.
Outra coisa, se vc puder, tente separar o acesso a base da Servlet!
Qto ao seu problema com o projeto no eclipse, tô sem idéia do que vc possa fazer … tenta isolar o erro, debugando ou colocando logs.
Quanto ao exempo, da uma pesquisada sobre DAO, não sei se vc conhece, aqui tem um artigo.
A idéia geral é criar uma camada de acesso aos dados, sejam eles em um BD, arquivo, xml, etc. Dessa maneira, p/ camada de negócios e controle, qualquer alteração na camada de dados é transparente. Geralmente isso é feito utilizando uma Abstract Factory.
Caso seja novidade p/ vc, de uma pesquisada e qq duvida posta q eu tento te ajudar.