Novato con servlets

spyro512

Y los odio un rato :/

Estoy haciendo un trabajo para la uni que consiste en una web que consulte en una BD citas del médico y poder cambiarlas etc.

He conseguido loguear al panel de admin mirando la BD, soy un hacha :D Quiero que al darle al botón "Modificar citas" ejecute un servlet para que compruebe si está logueado y llevarle al login.html, o a modificarcitas.html si está logged.

Tengo esto en el botón:


<input type="button" value="Cancelar o modificar citas." href="http://localhost:8080/citas/prueba">

El servlet se llama prueba, ofc.

Estoy muy lejos? Gracias!

ke2g

#1 para nada estas lejos, ya casi lo tienes.

Cuando inicia sesión el usuario guardas algo a sesión? Si es así (por ejemplo "authenticated" ), puedes hacer algo parecido a esto:

HttpSession session = request.getSession(true);
if (session.getAttribute("authenticated")!=null && session.getAttribute("authenticated").equals(true)) {
    // Ha iniciado sesión 
    //mostrar modificarcitas.html
} else {
    //No ha iniciado sesión 
    //mostrar login.html
}

Hace eones que no toco servlets y quizás me dejo algo...
Ah y no sé porque pones en href="http://localhost:8080/citas/prueba" la ruta absoluta, ¿no te vale la relativa?

1 respuesta
spyro512

#2 al final he puesto un form con POST y así me hace caso...

La relativa es "prueba" a secas? no sé, en clase lo dimos así pero voy a probar.

Muchas gracias por contestar tan rápido! Y efectivamente, he hecho el if que comentas para ver si el user está logueado. Funciona perfas :)

Lo que me raya ahora es que el panel de citas tiene que ser dinámico porque tiene que decir lo que lee de la base de datos... Pensaba que este mundillo era un poco más fácil ._.

2 respuestas
HeXaN

#3 ¿Dinámico en el sentido de que cambie sólo sin recargar la página o en el sentido de que cada vez que entres te muestre los datos actualizados?

1 respuesta
ke2g

#3 te veo muy verde hahaha

Si quieres mostrar datos dinámicamente, que sería el caso de las citas, no puedes hacerlo con ficheros html estáticos. Pero tienes distintas formas de hacerlo.

Una seria utilizar la función out.println y generar el html des del mismo servlet, no la recomiendo. Otra opción más pro sería utilizar jsp.

En esta web hay un ejemplo bastante sencillo: https://www3.ntu.edu.sg/home/ehchua/programming/java/JSPByExample.html

1 respuesta
spyro512

#4 que cada vez que entre aparezcan los datos.

Estaba pensando en poner un botón de Actualizar que llame a un servlet, que este compruebe la BD y enseñe lo que ve en alguna tabla, pero no sé cómo colocar esa tabla.

#5 he conseguido la práctica de un chaval y lo hace con el println pero agree 100%, me parece un jaleo xD y para leer el código una mierda tremenda además. Voy a mirar eso.

Y sí, estoy verdísimo, es que no tengo NI PUTA IDEA xDDD

edit: de todos modos, me da igual si es chapucero si funciona, es para una práctica evaluada y paso de currar más de la cuenta xD

1 respuesta
Mewtwo

#6 en un rato te subo una practica con servlets que tengo para funcionar va de lujo eso so xD la practica en código pufff pero bueno te ayudará a entender lo de los servlets además era algo similar consistía en una tienda virtual

Haz jsp son muy comodos y te van a facilitar muchísimo la vida que usando out.println en el servlets.
pd : https://mega.co.nz/#!Kw5TnDIZ!aSTzns9f7oHwU-Oye81BoT5SzjYvc0wkSJB_0oQXxrU

Pasalo bien :P xD tenia uso de base datos y demas asi que seguramente puedas reutilizar muchas cosas

1 respuesta
Scottie

y los servicios? nadie usa los servicios? y las interfaces? nadie las usa? :psyduck:

1 respuesta
spyro512

#7 muchas gracias, de momento he conseguido avanzar con el modo chabacano activado :D a ver si no necesito daros mucho más la turra :)

#8 déjate.. que tenemos un nivel muy básico xD no quiero movidas! Gracias de todos modos :d

BLZKZ

#1 noob

1 respuesta
spyro512

#10 absolutamente

pero ya he sacado el proyecto xdd gracias a todos por vuestro tiempo, os declaro users gratos en FEDA

menos mal que no voy a acabar programando en mi futuro profesional >.<

1 respuesta
BLZKZ

#11 eso dije yo, y llevo así ya años XD

1 respuesta
spyro512

#12 no srsly xD acabo la carrera en junio y ya estoy posicionado lejos de todo esto :d

1 respuesta
ke2g

#13 en que estas metido que te obligan hacer esta mierda en último curso?!

1 respuesta
spyro512

#14 ingeniería de sistemas de teleco :(

1

Usuarios habituales

  • spyro512
  • ke2g
  • BLZKZ
  • Scottie
  • Mewtwo
  • HeXaN