Problema al acceder a servlet

Tengo un problema a la hora de acceder a un servlet y espero que puedas echarme una mano.
Estoy haciendo un carro de la compra y a la hora de comprar un producto tengo que pulsar el enlace de dicho producto. Hecho esto se ejecuta una función javascript llamada comprar desde la cual llamo al servlet sumacarro.
El problema es que entro en la función comprar pasando como parámetro el nombre del servlet y un id pero a la hora de entrar en el servlet no pasa nada, sigue ejecutando código.
He puesto un breakpoint en el servlet para asegurarme de que entraba en él y no entra, supongo que el problema es la forma en la que paso los parámetros.
function comprar(url){ //url=sumacarro?id=4 por ejemplo
objeto = new XMLHttpRequest;
objeto.open("GET", url, true);
........
}
He probado poniendo el contenido de url entre comillas dobles y simples y nada.
¿Tienes idea de porque no me entra en el servlet?

1 respuesta

Respuesta
1
¿Has probado a llamar al servlet sin usar ajax ni nada, es decir, con algo así?:
http://tusitio:8080/tuaplicacion/sumacarro?id=4
¿Cómo tienes configurado el servidor de aplicaciones para que entienda que estás invocando a un servlet? Porque normalmente, se mapea que si llamas a "servlet/*", o a "*.servlet", entonces el servidor entiende que llamas a un servlet. Luego necesitas que "sumacarro" esté correctamente mapeado a una clase java que sea un servlet. Esto se hace en el fichero web.xml
Asegurate que el servidor te responde a una invocación simple al servlet, y luego implementa la llamada ajax. Si tienes dudas aquí estoy.
Actualización:
Después de mucho sudar puse por probar la dirección del servlet a mano en el método open sin usar url y... tampoco funciona, también puse la dirección de otro servlet y tampoco funciona...
También he descubierto que en la consola de errores de firefox me sale un error en el que me dice que la función mostrarcarro no esta definida. Esta función es la que coge el resultado del servlet y lo muestra pero aunque no la he terminado si que hace cosas así que no entiendo porque me pone que no está definida...
La verdad es que estoy bastante perdido porque no entiendo la relación de un error con otro, ¿si en la misma página jsp tengo hecha una función javascript que me accede a un servlet y funciona perfectamente porque a continuación hago otra función javascript que no me accede a ningún servlet en absoluto? ¿Y por qué me dirá que mostrarcarro no está definida?
Ojala que puedas ayudarme, muchísimas gracias!
Saludos!
Muchas gracias por la orientación, la verdad es que no sé cual era exactamente el fallo. Si metía a cañón la dirección del servlet me funciona, si llamaba a ese servlet desde otra función javascript me funciona pero si lo hacia desde la función comprar no me funcionaba. En la consola de errores de firefox me decía que la función mostrarcarro (la que trata los resultados del servlet) no estaba definida pero si que la tenía definida, la modifiqué mil veces incluso solo poniendo una linea y nada de nada. Finalmente supuse que era un fallo en el código javascript, que me había confundido en algo pero a pesar de revisar las funciones implicadas mil veces no me funcionaba ni a tiros. Así que me he rendido y he vuelto a escribirlo todo de cero y ahora ya parece que me entra en el servlet... ojala me dure y no me vuelva a dar este fallo sino me tiro por la ventana!
Gracias de nuevo por tus consejos y perdona el rollo pero llevaba dos semanas bloqueado con esta tontada.. uff
Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas