Problema con servlets

pvelasquez
21 de Diciembre del 2005
Hola. Estoy desarrollando una aplicacion que genera ciertos reportes, tomando la informacion de una BD Postgres. He generado varios servlets que funcionan bien. En el momento que les hago alguna modificacion, los vuelvo a compilar, genero un .jar con las nuevas clases y las ubico en el lugar respectivo, ademas reinicio el servidor para que cargue la nueva libreria, pero el problema es que la mayoria del tiempo me despliega un error porque no encuentra la clase HttpServlet, lo curioso es que luego de reiniciar varias veces el servidor Apache Tomcat, el problema desaparece.

Tal vez alguien me pueda ayudar con esto. Adjunto parte del error.
Gracias

javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)

root cause

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
java.net.URLClassLoader.access$100(URLClassLoader.java:56)

Hugo Hidalgo
21 de Diciembre del 2005
pvelasquez: si el problema reside en el servidor web que estas utilizando ya que tambien a mi me paso, pero lo solucione utilizando tomcat 5.5.9 o almenos te recomiendo el mas reciente ok!!!!

Referente a lo del manejo de servlets son buenos siempre y cuando tu desarrollo sea pequeño (aplicacion) pero si es grande o muy grande si seria bueno que utilices el frame work que te recomendaron Struts. asi que si te decides yo te puedo enviar algunos ejemplillos utilizando el framework. asi que si te interesa solo escribe un email bye

neossoftware
21 de Diciembre del 2005
Efectivamente puede estar pasando esto, más si estas usando un Tomcat 4.X lo que yo te recomendaría es que bajaras un entorno de desarrollo Java, uno muy chido es Jdeveloper, lo encuentras en www.oracle.com o bien netbeans java.sun.com o bien eclipse www.eclipse.org, para que te quites de esos problemas con los Servlets.

Mi otra recomendación es que no bases tus desarrollos Java en la creación de servlets, ya que no facilitan el manteniento del sistema además de que no permiten la escalabilidad, y carecen de una arquitectura de software, lo que yo te recomiendo es usar un framework de desarrollo Java como por ejemplo Struts que lo puedes bajar de jakarta.apache.org y que esta bien integrado con varias herramientas de desarrollo