JSP (Java Server Page) - llamar servlet desde JSP

 
Vista:

llamar servlet desde JSP

Publicado por Ger (13 intervenciones) el 13/01/2005 11:57:35
Hola, estoy intentando hacer una llamada de una página JSP a un servlet.
la página JSP se encuentra en esta ruta:
/k_test/JSP/
y el servlet se encuentra en esta otra ruta:
/k_test/WEB-INF/classes/k_test/servlet/

El servlet esta definido en el archivo web.xml de este modo:

<servlet>
<servlet-name>change_pass</servlet-name>
<servlet-class>k_test.servlet.changepwd</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>changepwd</servlet-name>
<url-pattern>/changepwd</url-pattern>
</servlet-mapping>

Hasta antes de probar con JSP:include, me daba un error 403 Forbidden, me imagino que porque no hacia el JSP:include, pero ahora si que lo hago y no hay manera de que me encuentre el servlet.
Ahora mismo tengo esto:

<jsp:include page="/WEB-INF/k_test.servlet.changepwd" flush="true">
</jsp:include>

Pero me da un error 500 de que no encuentra el servlet.
Espero que me puedan ayudar con mi problema. Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:llamar servlet desde JSP

Publicado por pablitux (9 intervenciones) el 24/01/2005 17:11:10
Hola, mira, todo hace suponer que tu problema es de permisos... por casualidad usas linux ?. Si ese es el caso revisa los permisos RWX R_X R_X y el usuario y grupo. Si no tiene los permisos adecuados es lo mismo que no exista, No lo ve..... Si es un algún Win,lo mismo, revisa los permisos de todos los archivos o directorios involucrados.
exitos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por Ger (13 intervenciones) el 25/01/2005 14:57:04
Ya comprobe si el problema era de permisos pero esta descartado, puesto que soy el administrador y mi usuario tiene permisos para todo (comprobado).
Se te ocurre que otra cosa podría ser??
Es un Windows 2000 Pro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por pablitux (9 intervenciones) el 26/01/2005 20:14:52
No entiendo que tienes declarado en el <url-pattern> ruta de tu index.jsp </url-pattern> en el web.xml, respecto de donde tienes tus archivos. Por otro lado Forbidden es "Prohibido hacer..." Los permisos no siempre están referidos al usuario, pueden estar referidos al TOMCAT o al Servlet que uses (no puede referenciar al docroot porque no tiene permisos, según el web.xml). Sospecho que está relacionado con como has declarado los caminos (el DocumentRoot) de tu aplicación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por Ger (13 intervenciones) el 28/01/2005 09:25:50
Ok, ahora si entiendo lo que me quieres decir con lo de los permisos. Yo uso el servidor RESIN, es una obligación, así que no puedo cambiar. Quisiera saber que es lo que debo hacer para poder cambiar estos permisos, porque no tengo ni idea, justo hace unos meses que he empezado con JSPs y servlets y aún no estoy familiarizado con todo esto.
Viendo mi declaración del web.xml esta es la ruta en donde están las clases.

c:\resin\resin\webapps\k_test\web-inf\classes\k_test\servlet\

Lo que si me tiene curioso es que por el momento tengo hechos dos servlets, los dos están ubicados en la misma ruta y están declarados igual en el web.xml, eso si, cada uno con su nombre, y uno si que me funciona, pero no el otro.
Bueno, espero puedas ayudarme un poco mas.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por Ger (13 intervenciones) el 31/01/2005 15:51:26
Explico algo mas.
He hecho una prueba usando el servlet que me funciona donde no funciona el otro. Y cual es mi sorpresa que con el servlet que funciona en otro sitio, aqui también dice Forbidden.
Quiero aclarar una cosa, el servlet que funciona lo llama una página HTML, pues mi aplicación la hago empezar con una página HTML.
La declaración en la página HTML de la llamada desde el form es:

<form name="loginPage" method="post" action="identify">

y funciona perfectamente.
La llamada desde la página JSP desde el form es la siguiente:

<form name="change_pass" method="post" action="/k_test/web-inf/classes/k_test/servlet/changepwd">

Y es este el que me da error Forbidden.
Intente ponerlo de esta manera:

<form name="change_pass" method="post" action="changepwd">

Pero si lo pongo así me dice un error de que no encuentra el servlet (404) y me da una ruta en donde evidentemente no esta el servlet, sino que es la ruta donde están las páginas JSP.

Que puedo hacer para solucionar este problema??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por pablitux (9 intervenciones) el 03/02/2005 23:58:25
Hola disculpa la demora, estuv ecaido varios dias por problemas en la WAN.
No tengo idea sobre el RESIN pero creo que debe ser semejante.
Dejame estudiarlo un poco y te cuento que se me ocurre
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por Ger (13 intervenciones) el 09/02/2005 15:49:25
Gracias. Espero que me puedas decir algo pronto. :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por juanjo (7 intervenciones) el 15/04/2005 21:01:47
Hola, me parece que llego un poco tarde, pero acabo de encontrar este post y he pensado que quizás aun puedo ayudar en algo. En tu pregunta hay varios aspectos en los que podría recomendarte que investigaras:

> Hola, estoy intentando hacer una llamada de una página JSP a un servlet.
> la página JSP se encuentra en esta ruta:
> /k_test/JSP/
> y el servlet se encuentra en esta otra ruta:
> /k_test/WEB-INF/classes/k_test/servlet/

> El servlet esta definido en el archivo web.xml de este modo:

> <servlet>
> <servlet-name>change_pass</servlet-name>
> <servlet-class>k_test.servlet.changepwd</servlet-class>
> </servlet>
> <servlet-mapping>
> <servlet-name>changepwd</servlet-name>
> <url-pattern>/changepwd</url-pattern>
> </servlet-mapping>

Cometes un error en el descriptor:
change_pass es el identificador de una definición de servlet, y en este caso defines su clase.
Despues, con servlet-mapping relacionas una URL con un servlet: con url-pattern defines qué
url debe pedir el cliente, y con servlet-name debes definir que servlet va a servir el recurso.
Por ello debes poner en este campo change_pass en lugar de changepwd, porque es aquel el nombre
del servlet que acabas de definir. Semigraficamente:

URL a pedir descriptor clase a ejecutar
asociado
/changepwd ----> change_passs ----> k_test.servlet.changepwd
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por juanjo (7 intervenciones) el 15/04/2005 21:03:44
> Hasta antes de probar con JSP:include, me daba
> un error 403 Forbidden, me imagino que porque
> no hacia el JSP:include, pero ahora si que lo
> hago y no hay manera de que me encuentre el servlet.
> Ahora mismo tengo esto:

> <jsp:include page=\"/WEB-INF/k_test.servlet.changepwd\" flush=\"true\">
> </jsp:include>

Si lo que quieres es que en el JSP se incluya la rspuesta de lapetición al servlet justo
en el punto en que defines el include, deberías definir este include así:

<jsp:include page=\"/changepwd\" flush=\"true\">
</jsp:include>

ó

<jsp:include page=\"/changepwd\" flush=\"true\" />

ya que la url que definiste en el web.xml era esta. Lo del 403, pudiera ser que en alguna
parte de la página haces referencia a WEB-INF. Este directorio es privado por definición
y accesos a este directorio resultan en Forbidden.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar servlet desde JSP

Publicado por juanjo (7 intervenciones) el 15/04/2005 21:04:40
> Pero me da un error 500 de que no encuentra el servlet.
> Espero que me puedan ayudar con mi problema. Muchas gracias

500 no es igual a 404. El error 500 significa "Error interno del servidor", y se produce
cuando el servidor encuentra errores al procesar la página que tiene que servir. Muy posiblemente
este error del que te informa es el cometido en el include.

Yo lo que haría es poner el include anterior y simplificar al máximo el resto del JSP
para aislar al maximo el problema, y luego volver a añadirlo.

un saludo, y espero llegar tarde y que ya se te haya arreglado ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar