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

Se los ruego: Problema para ejecutar servlets en Tomcat 7

Estas en el tema de Se los ruego: Problema para ejecutar servlets en Tomcat 7 en el foro de Java en Foros del Web. Buenas! Escribo estas líneas porque sinceramente ya no sé que hacer. Necesito ayuda para ejecutar Servlets en Tomcat 7. He recorrido estos foros para ver ...
  #1 (permalink)  
Antiguo 08/05/2011, 05:34
 
Fecha de Ingreso: junio-2010
Ubicación: Ehhh... ¿Alguien podría decirme donde me encuentro o_O???
Mensajes: 39
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Se los ruego: Problema para ejecutar servlets en Tomcat 7

Buenas!

Escribo estas líneas porque sinceramente ya no sé que hacer.

Necesito ayuda para ejecutar Servlets en Tomcat 7. He recorrido estos foros para ver las posibles soluciones a mi problema, sin embargo, ninguno me ha servido.

Tengo una carpeta llamada Ejemplo en la ruta "tomcat/webapps/ROOT/", donde tengo un archivo index.jsp. Allí introduzco dos valores que se deben sumar, pero al presionar el botón para ejecutar el servlet, me aparece el error siguiente:

"El recurso requerido (/Ejemplo/suma) no está disponible."

Leyendo por los temas del foro, vi que hay que configurar el archivo Web.xml para que el servidor reconozca los servlets. El mapeo lo hice así:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<servlet>
<servlet-name>ServletSuma</servlet-name>
<servlet-class>ServletSuma</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletSuma</servlet-name>
<url-pattern>/suma</url-pattern>
</servlet-mapping>

</web-app>

Sin embargo, sigue sin funcionar.

Las carpetas las tengo ordenadas así
Ejemplo
|_index.jsp
|_WEB-INF
|_Web.xml
|_classes
|_ServletSuma.class

Intenté también cambiar la carpeta ejemplo a la ruta "/tomcat/webapps/" pero sigue sin funcionar y también cambiando la url-pattern del archivo Web.xml pero sigue igual.

¡Por favor!, se los ruego, ayúdenme. Ya no sé que hacer para ejecutar servlet en tomcat y necesito hacer una aplicación con esta tecnología. Con JSP no tengo problemas para ejecutar, pero si con los servlets.

Estoy desesperado!
  #2 (permalink)  
Antiguo 08/05/2011, 09:01
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Se los ruego: Problema para ejecutar servlets en Tomcat 7

Hola,

1. En tu deployment descriptor (web.xml) declaras un Servlet llamado:

ServletSuma

Ademas, mapeas los request que vienen a ese Servlet con:

/suma

Por lo que tu index.jsp debe invocar a ese Servlet, pero por el error que dices lo tienes mal invocado:

tu error dice que no se encuentra el recurso Ejemplo/suma y es verdad no lo veo declarado por ninguna parte de tu web.xml

Lo que si veo declarado es tu"/suma" por lo que tu action deberia ser de la forma "suma" no "Ejemplo/suma"


2. Asi como pones la estructura de tus carpetas no se ve a que niveles estan, te recomiendo que te asegures de que ServletSuma.class este ubicada dentro de la carpeta "classes" si no, nunca va a jalar tu ejemplo.

3. Urge que leas sobre JSP/Servlets y Desarrollo Web Introductorio con Java.

Saludos
  #3 (permalink)  
Antiguo 08/05/2011, 14:10
 
Fecha de Ingreso: junio-2010
Ubicación: Ehhh... ¿Alguien podría decirme donde me encuentro o_O???
Mensajes: 39
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Se los ruego: Problema para ejecutar servlets en Tomcat 7

Gracias por tomarte el tiempo en responder hualro.

He tomado tus consejos, sin embargo, sigo sin poder ejecutar el Servlet.

La estructura de las carpetas están como lo indicas, sólo que cuando se publicó
la pregunta parece que se borraron los espacios. Las carpetas están así:
Ejemplo
->index.jsp
->WEB-INF
->->Web.xml
->->classes
->->->ServletSuma.class

El Servlet está en la carpeta classes de la carpeta WEB-INF, sin embargo, sigue sin
funcionar.

Este es el código que tengo en index.jsp:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>

<h1>Index JSP</h1>

<form action="suma" method="get">
<input type="text" name="numero1" size="2"> + <input type="text" name="numero2" size="2"> <input type="submit" value=" Sumar " />
</form>

</body>
</html>

------

Como verás, lo invoco de la forma en que explicaste, pero sigo con el problema:
"El recurso requerido (/Ejemplo/suma) no está disponible."

Y si cambio el action="/suma" manda el error siguiente:
"El recurso requerido (/suma) no está disponible."

Es cierto, desconozco eso de Desarrollo web en JAVA.

Alguna sugerencia para arreglar este problema?
  #4 (permalink)  
Antiguo 09/05/2011, 15:22
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Se los ruego: Problema para ejecutar servlets en Tomcat 7

Seguramente te falta lo que ha dicho hualro. En el web.xml tienes que declarar dos partes, el servlet name y el servlet mapping:

Código:
<servlet>
        <servlet-name>Suma</servlet-name>
        <servlet-class>Suma</servlet-class>
    </servlet>


<servlet-mapping>
        <servlet-name>Suma</servlet-name>
        <url-pattern>suma</url-pattern>
    </servlet-mapping>
  #5 (permalink)  
Antiguo 09/05/2011, 17:31
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Se los ruego: Problema para ejecutar servlets en Tomcat 7

Hola,

Pueden ser varias cosas

Hasta donde recuerdo, Tomcat tiene dos carpetas una que se llama Work y una Temp (o tmp) en su estructura al mismo nivel de webapps, lo que puedes hacer es borrar todo el contenido de temp y de work.

Asegurate de que tu deployment se ejecute una vez, es decir haz los cambios, haz el deploy (auto, o con manager) y asegurate de borrar el war si es que lo haces auto nada mas depositando el war en webapps, puede ser que manualmente haces el cambio pero al iniciar Tomcat se haga el deploy del war anterior.

Cual es el contexto de tu app? tienes algun context.xml?

Puedes poner el web.xml completo?

Como haces los deployments?

Mueve tu proyecto a webapps

->webapps
->->ejemplo
->->->index.jsp
->->->WEB-INF ...

Si puedes exportar o compartir el war ayudaria mucho

Última edición por hualro; 09/05/2011 a las 17:37

Etiquetas: class, jsp, jsp-servlets, servlet, tomcat, xml
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 13:58.