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

no consigo hacer funcionar struts2

Estas en el tema de no consigo hacer funcionar struts2 en el foro de Java en Foros del Web. Estoy haciendo mi primer ejercicio con struts2 y no entiendo lo que ocurre. Estoy siguiendo al pie de la letra las indicaciones de varias páginas ...
  #1 (permalink)  
Antiguo 28/10/2011, 01:57
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
no consigo hacer funcionar struts2

Estoy haciendo mi primer ejercicio con struts2 y no entiendo lo que ocurre. Estoy siguiendo al pie de la letra las indicaciones de varias páginas web pero me aparece un error.
Para empezar estoy usando netbeans 7.0, apache tomcat 7.0.1 y he creado un proyecto con java EE5.
He seguido los siguientes pasos:
me he descargado struts 2.2.3-lib
en Libraries->add Jar/Folder-> commons-logging, commons-fileupload, commons-io, freemarker, javassist, ognl, struts2-core, xwork.
He creado struts.xml con lo siguiente:
Código java:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE struts PUBLIC
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">
  5.  
  6. <struts>
  7.     <constant name="struts.devMode" value="true" />
  8.     <constant name="struts.configuration.xml.reload" value="true" />
  9.  
  10.     <package name="demo-struts" extends="struts-default">
  11.         <action name="index">
  12.             <result>/index.jsp</result>
  13.         </action>
  14.     </package>
  15. </struts>

Hasta ahi todo bien. el problema viene cuando edito web.xml. al poner <filter> ya me marca error. Mi web.xml contiene lo siguiente:
Código java:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  3.     <session-config>
  4.         <session-timeout>
  5.             30
  6.         </session-timeout>
  7.     </session-config>
  8.     <welcome-file-list>
  9.         <welcome-file>index.jsp</welcome-file>
  10.     </welcome-file-list>
  11.     <filter>
  12.       <filter-name>struts2</filter-name>
  13.       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  14. </filter>
  15. <filter-mapping>
  16.       <filter-name>struts2</filter-name>
  17.       <url-pattern>/*</url-pattern>
  18. </filter-mapping>
  19.  
  20. </web-app>
y según indico esto, al guardar abajo, en la consola de errores de apache me muestra lo siguiente:

28-nov-2011 9:53:39 org.apache.catalina.util.LifecycleBase stop
INFO: The stop() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Struts2]] after stop() had already been called. The second call will be ignored.
28-nov-2011 9:53:40 org.apache.catalina.startup.HostConfig checkResources
INFO: Repliegue (undeploy) de la aplicación web que tiene como trayectoria de contexto /Struts2
28-nov-2011 9:53:40 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Desplieque del descriptor de configuración Struts2.xml
28-nov-2011 9:53:40 org.apache.catalina.core.StandardContext startInternal
GRAVE: Error filterStart
28-nov-2011 9:53:40 org.apache.catalina.core.StandardContext startInternal
GRAVE: Falló en arranque del Contexto [/Struts2] debido a errores previos


y no me deja probar la página. Lo he intengado varias veces, en otras versiones de netbeans pero nada... no sé si será problema mio... podeis ayudarme?

Gracias.
  #2 (permalink)  
Antiguo 28/10/2011, 09:31
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: no consigo hacer funcionar struts2

te paso un archivo web.xml este lo genero cuando agrego los jar para que funcione struts 2

Código PHP:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>NombreDeTuProyecto</display-name>
    
    <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
              </filter>
    <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <session-config>
<session-timeout>5</session-timeout>
    </session-config>
    
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
Pruebalo asi, haber como se comporta
  #3 (permalink)  
Antiguo 02/11/2011, 06:30
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: no consigo hacer funcionar struts2

ya lo probé pero lo mismo... de todas formas, da igual el orden en el que se ponga lo del filter no? es parecido al que tenía yo, o eso creo...
donde tienes web.xml?? dentro de web-inf? que librerías son las que añades? para ver si son las mismas... y el struts.xml? hay algo que pueda estar mal??
  #4 (permalink)  
Antiguo 02/11/2011, 09:36
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 1 mes
Puntos: 78
Respuesta: no consigo hacer funcionar struts2

Hola leeann,
te debe de faltar alguna librería seguro, he cogido tu web.xml y lo he llevado a un proyecto mio en Struts2 y lo ha cogido todo a la perfección, es decir, problemas de sintaxis no es.

Revisa que tengas todas las librerías, o pon aquí qué librerías tienes importadas y las compararemos.

Otra cosa que he visto raro es que en el archivo struts.xml tienes definidas las acciones pero no la clase a la que corresponde cada acción.

Ejemplo de lo que yo veo más correcto:

Código Java:
Ver original
  1. <action name="index" class="com.leeann.app.Index">
  2. <result>/index.jsp</result>
  3. </action>

Esto es sólo una observación, nada más. Quizás te funcione, pero yo trabajo como te he indicado.

Un saludo!!
  #5 (permalink)  
Antiguo 02/11/2011, 10:11
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: no consigo hacer funcionar struts2

en el primer mensaje indico el servidor y las librerías, te pongo las versiones por si acaso:
commons-fileupload-1.2.2
commons-io2.0.1.jar
commons-logging1.1.1.jar
freemarker2.3.16.jar
javaasist-3.11.0.GA.jar
ognl-3.0.1.jar
struts2_core-2.2.3.jar
xwork-core-2.2.3.jar
En algunos sitios he visto que usan unas, en otros otras... yo por si acaso he importado todas.
Y es realmente necesario poner el nombre de la clase?
Yo he seguido este tutorial y lo hacían así:
http://www.javatutoriales.com/2011/0...iguracion.html
aunque si que es verdad, que no he conseguido que funcione...
  #6 (permalink)  
Antiguo 02/11/2011, 10:17
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: no consigo hacer funcionar struts2

De todas formas, recién estoy empezando con java, estoy haciendo un curso online y ahora que empiezo con las prácticas me pierdo un poco y no controlo todavía bien los tipos de error, pero puede que ese fallo se deba a alguna configuración del netbeans/tomcat?? porque otro proyecto que tengo con tomcat me da un error parecido y también estoy siguiendo los pasos de un tutorial!
  #7 (permalink)  
Antiguo 02/11/2011, 12:55
 
Fecha de Ingreso: febrero-2011
Mensajes: 55
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: no consigo hacer funcionar struts2

Código PHP:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Proyecto01</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!-- Configuración de Struts2 -->
  <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        <init-param>
            <param-name>actionPackages</param-name>
            <param-value>AQUI EL PAQUETE DE TUS ACTIONS DIRECCION</param-value>
<!-- 
EJEMPLO:
    <param-value>mipaquete.java.action</param-value>

-->
        </init-param>
   </filter>
   <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
   </filter-mapping>
</web-app>
- te paso el mio aver si te funciona....
- intenta que el archivo strut2.xml no tenga nada de mayusculas que suelen ser los errores mas comunes... mejor dicho que tus archivos de configuracion no tenga nada de mayusculas
  #8 (permalink)  
Antiguo 02/11/2011, 14:00
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: no consigo hacer funcionar struts2

Ya lo he mirado y está todo en minusculas.
He desinstalado todas las versiones del netbeans, porque tanto andar no sabía si habría dejado algo mal configurado y he instalado la versión 6.9 y he vuelto a hacer otro ejercicio desde 0. Me volvía a dar error y después de mirar todo un buen rato, me he dado cuenta de que esta versión de netbeans no me crea el archivo context.xml.
He creado el archivo y contiene esto:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/StrutsOne"/>


es suficiente? porque sigue fallando...
StrutsOne es el nombre de mi proyecto
  #9 (permalink)  
Antiguo 02/11/2011, 14:58
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: no consigo hacer funcionar struts2

Yo siempre recomiendo partir del struts-blank.war para empezar un proyecto.

http://repo1.maven.org/maven2/org/ap...2-blank/2.2.3/

Por si acaso añadiría la librería commons-lang-2.5 (viene en el struts-blank)

¿En qué directorio has puesto las librerías?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #10 (permalink)  
Antiguo 03/11/2011, 01:44
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: no consigo hacer funcionar struts2

Funciono!!! He añadido la librería que me has dicho y seguía dando error al hacer deploy y me he dado cuenta de que también me pedía la librería javaasist. La he añadido y ya funciona. Pero tengo una pregunta. ¿Cómo puede ser que siguiendo un tutorial, a la gente le haya funcionado con menos librerías que a mi??

Muchas gracias a todos por la ayuda!!

Etiquetas: funcionar, jar, jsp, netbeans, struts, struts2
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 03:47.