|
Escrito por
Sara
el 28/08/2007
Hola, Llevo un tiempo trabajando con Struts pero hasta ahora nunca había empezado una apliación web desde 0 con este framework. Utilizo Tomcat 5. 5, eclipse 3. 2 y struts 1.3.8 y con los ejemplos que me vienen con Struts no tengo ningún problema, tanto para arrancar el servidor como para ejecutar las aplicaciones. Sin embargo con mi aplicación (por ahora totalmente de prueba) me da un error al intentar cargar las clases de struts-config. Xml. En principio se me queja del formulario pero haciendo pruebas he visto que el action tampoco lo puede encontrar. El error me lo da al intentar acceder a la aplicación (el Tomcat arranca sin problemas). Concretamente me muestra la siguiente pila: 28-ago-2007 19:17:41 org.apache.struts. chain.commands.AbstractExceptionHandler execute ADVERTENCIA: Unhandled exception java.lang.NullPointerException at org.apache.struts. config.FormBeanConfig.createActionForm(FormBeanConfig. Java:289) at org.apache.struts. config.FormBeanConfig.createActionForm(FormBeanConfig. Java:357) at org.apache.struts. chain.commands.CreateActionForm. Execute(CreateActionForm. Java:92) at org.apache.struts. chain.commands.ActionCommandBase. Execute(ActionCommandBase. Java:51) at org.apache.commons. chain.impl.ChainBase. Execute(ChainBase. Java:190) at org.apache.commons. chain.generic.LookupCommand. Execute(LookupCommand. Java:304) at org.apache.commons. chain.impl.ChainBase. Execute(ChainBase. Java:190) at org.apache.struts. chain.ComposableRequestProcessor.process(ComposableRequestProcessor. Java:283) at org.apache.struts. action.ActionServlet.process(ActionServlet. Java:1913) at org.apache.struts. action.ActionServlet.doGet(ActionServlet. Java:449) at javax.servlet.http. HttpServlet. Service(HttpServlet. Java:690) at javax.servlet.http. HttpServlet. Service(HttpServlet. Java:803) at org.apache.catalina. core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain. Java:269) at org.apache.catalina. core.ApplicationFilterChain.doFilter(ApplicationFilterChain. Java:188) at org.apache.catalina. core.StandardWrapperValve.invoke(StandardWrapperValve. Java:210) at org.apache.catalina. core.StandardContextValve.invoke(StandardContextValve. Java:174) at org.apache.catalina. core.StandardHostValve.invoke(StandardHostValve. Java:127) at org.apache.catalina. valves.ErrorReportValve.invoke(ErrorReportValve. Java:117) at org.apache.catalina. core.StandardEngineValve.invoke(StandardEngineValve. Java:108) at org.apache.catalina. connector.CoyoteAdapter.service(CoyoteAdapter. Java:151) at org.apache.coyote. http11.Http11Processor.process(Http11Processor. Java:870) at org.apache.coyote. Http11. Http11BaseProtocol$Http11ConnectionHandler. ProcessConnection(Http11BaseProtocol. Java:665) at org.apache.tomcat. util.net.PoolTcpEndpoint. ProcessSocket(PoolTcpEndpoint. Java:528) at org.apache.tomcat. util.net.LeaderFollowerWorkerThread. RunIt(LeaderFollowerWorkerThread. Java:81) at org.apache.tomcat. util.threads.ThreadPool$ControlRunnable. Run(ThreadPool. Java:685) at java.lang.Thread. Run(Thread. Java:619) 28-ago-2007 19:17:41 org.apache.struts. chain.commands.ExceptionCatcher postprocess ADVERTENCIA: Exception from exceptionCommand "servlet-exception" java.lang.NullPointerException at org.apache.struts. config.FormBeanConfig.createActionForm(FormBeanConfig. Java:289) at org.apache.struts. config.FormBeanConfig.createActionForm(FormBeanConfig. Java:357) at org.apache.struts. chain.commands.CreateActionForm. Execute(CreateActionForm. Java:92) at org.apache.struts. chain.commands.ActionCommandBase. Execute(ActionCommandBase. Java:51) at org.apache.commons. chain.impl.ChainBase. Execute(ChainBase. Java:190) at org.apache.commons. chain.generic.LookupCommand. Execute(LookupCommand. Java:304) at org.apache.commons. chain.impl.ChainBase. Execute(ChainBase. Java:190) at org.apache.struts. chain.ComposableRequestProcessor.process(ComposableRequestProcessor. Java:283) at org.apache.struts. action.ActionServlet.process(ActionServlet. Java:1913) at org.apache.struts. action.ActionServlet.doGet(ActionServlet. Java:449) at javax.servlet.http. HttpServlet. Service(HttpServlet. Java:690) at javax.servlet.http. HttpServlet. Service(HttpServlet. Java:803) at org.apache.catalina. core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain. Java:269) at org.apache.catalina. core.ApplicationFilterChain.doFilter(ApplicationFilterChain. Java:188) at org.apache.catalina. core.StandardWrapperValve.invoke(StandardWrapperValve. Java:210) at org.apache.catalina. core.StandardContextValve.invoke(StandardContextValve. Java:174) at org.apache.catalina. core.StandardHostValve.invoke(StandardHostValve. Java:127) at org.apache.catalina. valves.ErrorReportValve.invoke(ErrorReportValve. Java:117) at org.apache.catalina. core.StandardEngineValve.invoke(StandardEngineValve. Java:108) at org.apache.catalina. connector.CoyoteAdapter.service(CoyoteAdapter. Java:151) at org.apache.coyote. http11.Http11Processor.process(Http11Processor. Java:870) at org.apache.coyote. Http11. Http11BaseProtocol$Http11ConnectionHandler. ProcessConnection(Http11BaseProtocol. Java:665) at org.apache.tomcat. util.net.PoolTcpEndpoint. ProcessSocket(PoolTcpEndpoint. Java:528) at org.apache.tomcat. util.net.LeaderFollowerWorkerThread. RunIt(LeaderFollowerWorkerThread. Java:81) at org.apache.tomcat. util.threads.ThreadPool$ControlRunnable. Run(ThreadPool. Java:685) at java.lang.Thread. Run(Thread. Java:619) 28-ago-2007 19:17:41 org.apache.catalina. Core. StandardWrapperValve invoke GRAVE: Servlet. Service() para servlet action lanzó excepción java.lang.NullPointerException at org.apache.struts. config.FormBeanConfig.createActionForm(FormBeanConfig. Java:289) at org.apache.struts. config.FormBeanConfig.createActionForm(FormBeanConfig. Java:357) at org.apache.struts. chain.commands.CreateActionForm. Execute(CreateActionForm. Java:92) at org.apache.struts. chain.commands.ActionCommandBase. Execute(ActionCommandBase. Java:51) at org.apache.commons. chain.impl.ChainBase. Execute(ChainBase. Java:190) at org.apache.commons. chain.generic.LookupCommand. Execute(LookupCommand. Java:304) at org.apache.commons. chain.impl.ChainBase. Execute(ChainBase. Java:190) at org.apache.struts. chain.ComposableRequestProcessor.process(ComposableRequestProcessor. Java:283) at org.apache.struts. action.ActionServlet.process(ActionServlet. Java:1913) at org.apache.struts. action.ActionServlet.doGet(ActionServlet. Java:449) at javax.servlet.http. HttpServlet. Service(HttpServlet. Java:690) at javax.servlet.http. HttpServlet. Service(HttpServlet. Java:803) at org.apache.catalina. core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain. Java:269) at org.apache.catalina. core.ApplicationFilterChain.doFilter(ApplicationFilterChain. Java:188) at org.apache.catalina. core.StandardWrapperValve.invoke(StandardWrapperValve. Java:210) at org.apache.catalina. core.StandardContextValve.invoke(StandardContextValve. Java:174) at org.apache.catalina. core.StandardHostValve.invoke(StandardHostValve. Java:127) at org.apache.catalina. valves.ErrorReportValve.invoke(ErrorReportValve. Java:117) at org.apache.catalina. core.StandardEngineValve.invoke(StandardEngineValve. Java:108) at org.apache.catalina. connector.CoyoteAdapter.service(CoyoteAdapter. Java:151) at org.apache.coyote. http11.Http11Processor.process(Http11Processor. Java:870) at org.apache.coyote. Http11. Http11BaseProtocol$Http11ConnectionHandler. ProcessConnection(Http11BaseProtocol. Java:665) at org.apache.tomcat. util.net.PoolTcpEndpoint. ProcessSocket(PoolTcpEndpoint. Java:528) at org.apache.tomcat. util.net.LeaderFollowerWorkerThread. RunIt(LeaderFollowerWorkerThread. Java:81) at org.apache.tomcat. util.threads.ThreadPool$ControlRunnable. Run(ThreadPool. Java:685) at java.lang.Thread. Run(Thread. Java:619) Parece que en el método: protected Class formBeanClass() { ClassLoader classLoader = Thread. currentThread (). GetContextClassLoader();
if (classLoader == null) { classLoader = this. GetClass(). GetClassLoader(); }
try { return (classLoader. LoadClass(getType())); } catch (Exception e) { return (null); } } De la clase FormBeanConfig no consigue cargar la clase java.forms.InputForm.
Por último os adjunto el struts-config que utilizo: <? Xml version="1. 0" encoding="ISO-8859-1"? > <! DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1. 3//EN" "http://struts.apache.org/dtds/struts-config_1_3. Dtd">
<struts-config> <form-beans> <form-bean name="inputForm" type="java.forms.InputForm"/> </form-beans>
<action-mappings> <action path="/Welcome" type="java.actions.InputAction" name="inputForm"> <forward name="success" path="pages/input. Jsp"/> </action> </action-mappings> </struts-config>
¿Alguien sabe por donde puede venir el problema? Muchas gracias por adelantado. |
||
|
Citar |
Ver mensaje
|
|
Escrito por
Oriol Sanuy Poca
el 27 de Octubre
Hola Sara, Estoy haciendo unos tutoriales de struts y me ocurre exactamene los mismo, no me carga correctamente el actionform y por eso me da el null pointer exception. Si encontraste alguna solución (ya que veo que el debate es un poco antiguo te agradecería me lo explicaras). Muchars gracias de antemano y saludos. Atentamente Oriol. |
|
Escrito por
Oriol Sanuy Poca
el 27 de Octubre
Parece ser que el problema está en la sesión del navegador, en los temporales o algó parecido ya que mientras tienes habierta una misma sesión de navegación siempre te da el mismo error pero abriendo una nueva sesión en otra ventana ya no se muestra el error al crear el action form. |
|
Al escribir en el debate:
|