Java - Hacer un update en una BBDD

 
Vista:

Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 17/01/2005 10:19:41
Hola,
estoy intentando hacer un UPDATE de unos datos en una BBDD en SQL Server a partir de un servlet pero siempre me esta dando un error.
No es problema de la conexión porque puedo hacer sin problemas un SELECT, pero me da error cuando intento hacer un UPDATE.
Como sería un ejemplo de UPDATE de una BBDD dentro de un servlet??
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 17/01/2005 15:12:35
El error que me devuelve es
405 El Metodo HTTP GET no es soportado por esta URL

Este error me aparece debido a estas lineas:

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

Pero si quito esto desaparece el enlace con el servlet.

Lo que no entiendo es porque el error hace referencia al metodo get cuando yo el que estoy utilizando es el post.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 17/01/2005 15:57:33
Y en la pagina "changepwd" no tendra el GET. Quizas lo que quieres hacer es redireccionar a esa pagina y no incluirla...
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 17/01/2005 16:11:54
No, porque changepwd es un servlet.

Voy a situar un poco esta página JSP.

Esta página JSP que me esta dando problemas viene llamada por otra página JSP, y esta página JSP, la que da problemas, es la que debe acceder al servlet para que haga la modificación del dato que me hace falta cambiar en la BBDD
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 17/01/2005 21:22:49
Y la pagina es cargada atraves de un hipervinculo entonces es una peticion GET...
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 18/01/2005 09:09:48
Bueno, la página que es cargada mediante un hipervinculo es la JSP, para enviar los datos al servlet uso Post.
Que otra opción me recomiendas para pasar de una página JSP a otra??, es que me interesaria mucho que pudiera ser tal y como lo hago, mediante hipervinculos, pero si no es posible así dime que otra forma puedo usar o bien si hay algun truquillo para que no me de este error.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 18/01/2005 14:34:33
Lo que pasa es que depende de lo que quieres hacer, dime desde un hipervinculo llamas a la JSP, la cual a su vez llama el servlet ?. Puedes colocar la llamada al servlet en el mismo hipervinculo...
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 18/01/2005 14:59:08
Lo que quiero es lo siguiente, vaya, lo que estoy intentando hacer:

de una página JSP llamo a otra página JSP mediante un hipervinculo. Este hipervinculo manda un dato a la segunda página JSP para identificar el usuario. Ahora, cuando ya estamos en la segunda página JSP, que sirve para cambiar la contraseña, se pide la contraseña actual y la nueva, y cuando se le da a cambiar, debe acceder al servlet que hace la función de acceder a la BBDD y cambiar el dato.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 18/01/2005 20:31:54
Ok... Ahora si lo veo... :-)
Creo que no es problema de las llamadas entre JSP y Servlets, creo que se trata mas bien del codigo que usas para hacer el UPDATE en le servlet.. Puedes publicarlo o decirme la excepcion que te da...
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 19/01/2005 09:32:17
Es que no creo que el problema sea el UPDATE pues nunca llega a entrar al servlet. Hice la prueba poniendo al principio de todo del servlet un System.out.println para que me mostrara alguna cosa en la consola del servidor y no aparece nada de nada.
El único problema que veo es la declaración del servlet en la página JSP, pues si esa declaración la quito el erro desaparece, pero claro, si hago esto entonces no puedo comunicar con el servlet. La excepción que da es:
405 El Metodo HTTP GET no es soportado por esta URL
También puedo decirte que si le quito esta declaración, el error que devuelve es el siguiente:
403 Forbidden
Para que quede claro, la declaración de la que te estoy hablando es esta:

<jsp:include page="/changepwd" flush="true">
</jsp:include>
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 19/01/2005 19:20:14
Colocala en un hipervinculo sin usar el tag library
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 20/01/2005 09:01:57
No acabo de entender bien lo que me dices.
Que es lo que debo colocar en un hipervinculo?
y el tag library que es?

Si lo que quieres decir es que acceda al servlet con un hipervinculo no me va a servir de nada, pues desde el segundo JSP tengo un formulario que envia datos al servlet.
Explicame mejor lo que me comentaste.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 20/01/2005 14:03:47
Coloca en un hipervinculo la llamada a la JSP y el Tag library es la manera como lo estas llamando en este momento

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

esta es una llamada al JSP usando la Tag library
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 20/01/2005 14:55:12
El caso es que ya te comenté que para pasar de una JSP a la otra ya lo hago mediante un hipervinculo.
A lo mejor has confundido el hecho de que no te he dicho que changepwd es el servlet, la clase a la que llama el segundo JSP y posiblemente hayas entendido que changepwd es una JSP.

El paso de una JSP a otra me funciona bien. Lo que no me va es cuando hago la conexión entre la segunda JSP y la clase compilada.
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 20/01/2005 14:56:30
Aqui te muestro el código de la JSP que llama al servlet

<%@ page import="k_test.servlet.*" %>
<jsp:include page="/changepwd" flush="true">
</jsp:include>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<%
out.println("<title>K-Test Cambiar Password</title>");
%>

</head>
<body link="#000000" vlink="#000000" alink="#000000">
<p><span style="z-index: -2; position: absolute; left: 12; top: 16"><img border="0" src="/Images/k_test/KB_logo_es.jpg" width="183" height="104"></span>
<P ALIGN=right><a href=/k_test/login.htm><b>Desconectar</b></a></p>
<br><br><br><br>
<P ALIGN=left><a href=./menu.jsp><b>Menú</b></a>   <b>     </b>  
<a href=./menu.jsp><b>Atrás</b></a></p>
<script>
document.write("<P ALIGN=left>");
var mi=new Date();
var mes=mi.getMonth();
var año=mi.getFullYear();
var hoy=mi.getDate();
document.write(Fechas=hoy + "/" + [mes+1] + "/" + año);
</script>

<p>           <font color=red><b>Cambiar contraseña</b></font></p>
<br>
<br>

<form name="change_pass" method="post" action="/changepwd">
                         
Contraseña
actual                   
<input type="password" name="current" size="20"> </p>
<p>                         
Escriba la nueva contraseña     <input type="password" name="new" size="20"></p>
<p>                         
Repetir la nueva contraseña     <input type="password" name="rep_new" size="20"></p>
<input type="hidden" name="user" value=<%=request.getParameter("id")%>>
<p>  
                                                                                
<input type="submit" value="Cambiar" name="cambiar"></p>
</form>
<br>
<br>


</body>
</html>
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 21/01/2005 19:05:21
Ger, disculpa que no te haya contestado antes...
Ok, vamos a ver otra cosa... Tienes bien mapeado el servlet, es decir, creaste la entra en el web.xml y el servlet esta en la carpeta classes de tu aplicacion web ?. Puedes probar ejecutando el servlet desde la barra de direcciones a ver que tal...
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 24/01/2005 09:05:53
Por un lado, el mapeo en el archivo web.xml es correcto, pues ya hice otro servlet y funcionaba bien y puse exactamente lo mismo pero con otro nombre para este otro servlet.
Cuando intento ejecutar el servlet desde la barra de direcciones me da un error que es :
403 Forbidden
Ya me lo había dado al principio, justo antes de poner la sentencia esta en el JSP:
<jsp:include page="/changepwd" flush="true">
</jsp:include>
Ahora estoy viendo entonces que esta sentencia no es necesaria, pero entonces, porque me da ese error cuando intento acceder al servlet??
Está claro que es un error del servlet, pero a que puede ser debido?
Como servidor web utilizo Resin.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 25/01/2005 18:33:01
Ese error te da cuando estas tratando de acceder a un recurso protegido. Debes tener algun problema de configuracion en el web.xml. Prueba colocando el servlet que te funciono perfecto en la linea de <jsp:include page para ver que tal
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 31/01/2005 15:52:40
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 31/01/2005 21:14:08
Si te da problemas con el otro servlet que si funcionaba en el otro sitio es problema de configuracion del servidor web.
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:Hacer un update en una BBDD

Publicado por Ger (39 intervenciones) el 01/02/2005 12:32:21
Entonces pues que debo hacer para solucionarlo?, ponerme en contacto con el fabricante del servidor web??
El servidor es Resin de la companyia Caucho.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Hacer un update en una BBDD

Publicado por Yamil Bracho (2315 intervenciones) el 01/02/2005 14:28:14
No he usado Resin, solo Tomcat. Quizas para Resine necesites algun parametro especial que no conozco. Contacta a la oficina de soporte de esta empresa.
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