Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/04/2016, 01:57
Cancelllara
 
Fecha de Ingreso: abril-2016
Mensajes: 2
Antigüedad: 8 años
Puntos: 0
Pregunta Iniciación en Struts

Hola a todos,

Estoy empezando a trabajar con Struts1 sobre Eclipse para realizar pequeñas aplicaciones Web y me encuentro un poco perdido a la hora de como configurar el entorno de trabajo.
Mi primera prueba es muy simple, es una simple página principal con un enlace a otra, la principal peculiaridad es que el enlace lo hago a través de una acción .do, pero no funciona correctamente.
Os explico brevemente los pasos que he seguido y el error que he obtenido:

1- Creo en eclipse un nuevo "Dynamic Web Project". Le doy un nombre (Ej: Struts1) y pido que me generé el fichero web.xml.

2- Pico con el botón derecho sobre el proyecto voy a "Build Path" --> "Configure Build Path" --> "Libraries" --> "Add external JAR" --> Añado "struts-core-1.3.8.jar".

3- Edito el contenido del web.xml con el siguiente contenido:

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts1</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

4- Creo en /Struts1/WebContent/WEB-INF/ el fichero struts-config.xml con el siguiente contenido:

<?xml version="1.0"?>
<!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>
<action-mappings>
<action path="/prueba" forward="/prueba.html" />
</action-mappings>
</struts-config>

5- Creo en el /Struts1/ la página index.jsp con el siguiente contenido (Unicamente una llamada a la acción prueba definida en el struts-config):

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
<p><a href="prueba.do">click here for the next page</a></p>
</body>
</html>

6- Creo en la misma ubicación que el index.jsp la pagína prueba html que no tiene nada más que el texto "llegó" en el body.

7- Genero el .war desde dentro del directorio Struts1 con el comando "jar cvf struts1.war *".

8- Despliego en el servidor tomcat el .war. Cuando accedo la página "index.jsp" se muestra correctamente.

9- Cuando doy al enlace me aparece el siguiente error:

Estado HTTP 404 - /struts1/prueba.do

type Informe de estado

mensaje /struts1/prueba.do

descripción El recurso requerido (/struts1/prueba.do) no está disponible.
Apache Tomcat/7.0.26

Por lo que veo, no se estan cogiendo las peticiones ".do" y por eso no encuentra el recurso. ¿Qué es lo que estoy haciendo mal para que no funcione el enlace?

Gracias por adelantado.