Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con spring y struts

Estas en el tema de Problema con spring y struts en el foro de Java en Foros del Web. Hola a todos. Tengo un problema con spring en una aplicación web que estoy desarrollando y no se cómo solucionarlo. Quizá alguien me pueda indicar ...
  #1 (permalink)  
Antiguo 20/07/2010, 01:25
 
Fecha de Ingreso: julio-2010
Ubicación: Asturias
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Problema con spring y struts

Hola a todos. Tengo un problema con spring en una aplicación web que estoy desarrollando y no se cómo solucionarlo. Quizá alguien me pueda indicar qué estoy haciendo mal.

Bien, en la aplicación tengo un fichero applicationContext con los beans definidos para el contexto de Spring, entre ellos un action:

<bean id="indexAction" class="es.web.action.IndexAction" singleton="false">
...
</bean>


Y en el fichero struts-config he definido el plug-in para cargar los beans del contexto de Spring:

<plug-in className="org.springframework.web.struts.ContextL oaderPlugIn">
<set-property property="contextConfigLocation" value="applicationContext.xml"/>
</plug-in>


Este sería el primer action que debe ejecutarse, ya que el welcome file es un index.jsp que redirige a un forward welcome:

<logic:redirect forward="welcome"/>

Y este forward está definido en struts-config de esta forma:

<forward name="welcome" path="/action/index.do?method=load" redirect="true"/>

El action en struts-config está declarado asi:

<action path="/action/index"
type="indexAction"
parameter="method"
scope="request">
<forward name="success" path="web.home" />
</action>


Pero al ejecutar la aplicación, obtengo en siguiente error:


20-jul-2010 9:22:10 org.apache.struts.action.RequestProcessor processActionCreate
GRAVE: No action instance for path /action/index could be created
java.lang.ClassNotFoundException: indexAction
at org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1436)
(...)


Estoy empezando con spring, por lo que no tengo mucha idea de qué puede estar fallando. Suponía que incluyendo el plugin ContextLoaderPlugIn ya estarían disponibles las clases para que el servlet las utilizase desde el contexto de Spring, pero parece que no es así. ¿Alguien podría echarme una mano? Muchas gracias.
  #2 (permalink)  
Antiguo 21/07/2010, 05:41
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Problema con spring y struts

Igual es una tontería, pero en

<plug-in className="org.springframework.web.struts.ContextL oaderPlugIn">

tienes un espacio en blanco en Loader.
  #3 (permalink)  
Antiguo 22/07/2010, 06:05
 
Fecha de Ingreso: julio-2010
Ubicación: Asturias
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con spring y struts

Cita:
Iniciado por Xerelo Ver Mensaje
Igual es una tontería, pero en

<plug-in className="org.springframework.web.struts.ContextL oaderPlugIn">

tienes un espacio en blanco en Loader.
Acabo de mirarlo, en la aplicación no tengo ese espacio. Ojalá fuese esto :)
Gracias por la observación.
  #4 (permalink)  
Antiguo 22/07/2010, 14:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Problema con spring y struts

No he trabajado nunca con spring ni struts pero diria que quizás el problema sea en:

<action path="/action/index"
type="indexAction"
parameter="method"
scope="request">

el valor path no creo que sea correcto, prueba poniendo /action/index.do, si con eso se soluciona, sería la ostia, pero no confies en ello... xD repito que no tengo ni idea, pero por ayudar que no quede... xD
  #5 (permalink)  
Antiguo 23/07/2010, 00:50
 
Fecha de Ingreso: julio-2010
Ubicación: Asturias
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con spring y struts

Cita:
Iniciado por Denis127 Ver Mensaje
No he trabajado nunca con spring ni struts pero diria que quizás el problema sea en:

<action path="/action/index"
type="indexAction"
parameter="method"
scope="request">

el valor path no creo que sea correcto, prueba poniendo /action/index.do, si con eso se soluciona, sería la ostia, pero no confies en ello... xD repito que no tengo ni idea, pero por ayudar que no quede... xD
No es este el error. Para llamar a un action tienes que poner el .do, pero para declararlas en struts-config no se pone.
Gracias!
  #6 (permalink)  
Antiguo 23/07/2010, 07:31
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: Problema con spring y struts

Cita:
Iniciado por gppgoyo Ver Mensaje
Hola a todos. Tengo un problema con spring en una aplicación web que estoy desarrollando y no se cómo solucionarlo. Quizá alguien me pueda indicar qué estoy haciendo mal.

Bien, en la aplicación tengo un fichero applicationContext con los beans definidos para el contexto de Spring, entre ellos un action:

<bean id="indexAction" class="es.web.action.IndexAction" singleton="false">
...
</bean>


Y en el fichero struts-config he definido el plug-in para cargar los beans del contexto de Spring:

<plug-in className="org.springframework.web.struts.ContextL oaderPlugIn">
<set-property property="contextConfigLocation" value="applicationContext.xml"/>
</plug-in>


Este sería el primer action que debe ejecutarse, ya que el welcome file es un index.jsp que redirige a un forward welcome:

<logic:redirect forward="welcome"/>

Y este forward está definido en struts-config de esta forma:

<forward name="welcome" path="/action/index.do?method=load" redirect="true"/>

El action en struts-config está declarado asi:

<action path="/action/index"
type="indexAction"
parameter="method"
scope="request">
<forward name="success" path="web.home" />
</action>


Pero al ejecutar la aplicación, obtengo en siguiente error:


20-jul-2010 9:22:10 org.apache.struts.action.RequestProcessor processActionCreate
GRAVE: No action instance for path /action/index could be created
java.lang.ClassNotFoundException: indexAction
at org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1436)
(...)


Estoy empezando con spring, por lo que no tengo mucha idea de qué puede estar fallando. Suponía que incluyendo el plugin ContextLoaderPlugIn ya estarían disponibles las clases para que el servlet las utilizase desde el contexto de Spring, pero parece que no es así. ¿Alguien podría echarme una mano? Muchas gracias.

Hola, este error es porque no ha encontrado tu clase que se llama indexAction.

En el parametro type debes de especificar el nombre de tu clase que servira como Servlet (Action), te recuerdo que con Struts debes de meter tus clases dentro de un paquete y no dejarlas al "aire".

Saludos!
  #7 (permalink)  
Antiguo 26/07/2010, 01:48
 
Fecha de Ingreso: julio-2010
Ubicación: Asturias
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con spring y struts

Cita:
Iniciado por Bunburyscom Ver Mensaje
Hola, este error es porque no ha encontrado tu clase que se llama indexAction.

En el parametro type debes de especificar el nombre de tu clase que servira como Servlet (Action), te recuerdo que con Struts debes de meter tus clases dentro de un paquete y no dejarlas al "aire".

Saludos!
Si, esto lo tengo claro, no encuentra la clase que implementa el action. El problema, es que estoy utilizando Spring, y en el atributo type de la declaración del action, le pongo el id del action definido en el fichero applicationContext en el que declaro todos los beans que se crean en el contexo de Spring, por lo que deberia encontrar una instancia de esta clase ya creada en este contexto. Algo me falta para que encuentre esta instancia.

Etiquetas: spring, struts
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:24.