PDF de programación - Modificaciones a Servicio Web Netbeans-java,Glassfish MySQL

Imágen de pdf Modificaciones a Servicio Web Netbeans-java,Glassfish MySQL

Modificaciones a Servicio Web Netbeans-java,Glassfish MySQLgráfica de visualizaciones

Publicado el 3 de Octubre del 2018
875 visualizaciones desde el 3 de Octubre del 2018
944,0 KB
15 paginas
Creado hace 5a (28/05/2018)
UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS



PROGRAMACION PARA DISPOSITIVOS MOVILES



PDM115 Ciclo I-2018

GUIA DE LABORATORIO N° 08 A

Modificaciones a Servicio Web Netbeans-java,Glassfish MySQL


Objetivo:



Modificar los servicios web realizados en la guía 7a para que permitir consumo desde
movil.

Requerimientos previos:



 Desarrollar guia 7a



Índice

Contenido
Servicios para Encontrar Alumno y Materia por fecha ............................................................................. 1

Agregar los campos de fecha a la tabla Alumno y Materia en el Gestor de Base de Datos(MySQL) .... 1

Agregar los campos de fecha a la tabla Alumno y Materia en las clases Asociadas ............................ 1

Modificar la clase entidad Materia.java con el nuevo atributo fecha. ................................................. 1

Agregar los métodos set y get del nuevo atributo. .............................................................................. 2

Agregar la consulta (NamedQuery) en ambas entidades ..................................................................... 3

Probar los servicios en el plugin rest de Mozilla ................................................................................... 6

Antes de hacer el Servicio de Promedio de notas de un Alumno: ............................................................ 7

Insertar más Notas de alumnos(POST) ................................................................................................. 7

Obtener el Promedio de Notas de un Alumno ..................................................................................... 8

Verificar que se han insertado las librerías correctas. .......................................................................... 9

Probar los servicios en el plugin rest de Mozilla ................................................................................... 9

Anexo1 ................................................................................................................................................... 10

Anexo2 ................................................................................................................................................... 12

Anexo 3 .................................................................................................................................................. 13





1

Servicios para Encontrar Alumno y Materia por fecha


Agregar los campos de fecha a la tabla Alumno y Materia en el Gestor de Base de
Datos(MySQL)


*Si ya se tienen datos hacer el update

ALTER TABLE materia ADD FECHA_MODIFICADO DATE NULL;
UPDATE materia SET FECHA_MODIFICADO = '2016-05-05' ;

ALTER TABLE alumno ADD FECHA_MODIFICADO DATE NULL;

UPDATE alumno SET FECHA_MODIFICADO = '2016-05-05' ;


Script de insercion

INSERT INTO ALUMNO VALUES ('NN00003','Nuevo','Nuevo','M',0,'2016-05-05');

INSERT INTO MATERIA VALUES('PRN115','PROGRAMACION 1',4,'2016-05-05');

INSERT INTO NOTA VALUES('PRN115', 'NN00003','1',2);

Agregar los campos de fecha a la tabla Alumno y Materia en las clases Asociadas

Modificar la clase entidad Materia.java con el nuevo atributo fecha.





2

Verificar que se han insertado las librerías correctas en ambas clases.

Agregar los métodos set y get del nuevo atributo.

a) Podemos agregarlos con asistente:

Sombreamos fechaact y presionamos clic derecho insert code,



Luego clic en Getter and Setter





o

b) Simplemente los digitamos:

3



Repetir lo anterior en la clase Alumno.java

Agregar la consulta (NamedQuery) en ambas entidades



En Alumno.java:





En Materia.java:

4



Escribir el siguiente método en la clase AlumnoFacadeREST.java

Ver anexo 1 (código fuente)





Verificar que se han insertado las librerías correctas.

5

De igual manera para la clase MateriaFacadeREST.java



Ver anexo2 (código fuente)





6

Probar los servicios en el plugin rest de Mozilla
Consultar materias creadas una fecha

http://localhost:8080/WebApplicationDB/webresources/sv.ues.fia.carnet.entidad.ma
teria/by?fecha_modificado=2016-05-05/

Consultar alumnos creados desde una fecha
http://localhost:8080/WebApplicationDB/webresources/sv.ues.fia.carnet.entidad.alumno/by
?fecha_modificado=2016-05-05/





7

Antes de hacer el Servicio de Promedio de notas de un Alumno:


Insertar más Notas de alumnos(POST)



http://localhost:8080/WebApplicationDB/webresources/sv.ue
s.fia.carnet.entidad.nota

Cabecera (Content Type= application/json)
Body

{

"notaPK":

{

"carnet":"NN00001","codmateria":"PRN215","ciclo":"1"

},

"notafinal":"8"

}

Puede insertarlos también con comandos insert



Agregar Librería en proyecto

Busque la librería jettison-1.3.7 en el ftp de la asignatura y descarguelo





8

Cópielo dentro de su proyecto y luego agréguelo con clic derecho agregar archivo jar….



Obtener el Promedio de Notas de un Alumno


Agregar el siguiente NamedQuery a la entidad Nota.java

Agregar el siguiente método a la clase NotaFacadeREST.java



Ver anexo3 (código fuente)







9

Verificar que se han insertado las librerías correctas.



Probar los servicios en el plugin rest de Mozilla
Consultar Notas agrupadas por carnet

http://localhost:8080/WebApplicationDB/webresources/sv.ues.fia.carnet.enti

dad.nota/prom/NN00001/



Notas:

*Suba el proyecto en la opción correspondiente del aula.

*Puede hacer pruebas de los servicios con las ips de prueba en el servidor de la eisi

En Lcomp3 u otro computo de la LAN EISI (10.10.60.3)

O desde otro dominio externo como desde su casa(138.255.154.43)



10

*El proyecto original esta descargable en el ftp de la asignatura (WebApplicationDB.rar)



Anexo1
@GET

@Path("by")

@Produces({"application/json"})

public List<Alumno> findByFecha(@QueryParam("fecha_modificado") String fechaact) {

//Obtenemos la fecha actual

Calendar calendario = GregorianCalendar.getInstance();

Date fechaActual = calendario.getTime();

SimpleDateFormat formatoFecha = new SimpleDateFormat("yyyy-MM-dd");

try {

//Parseamos la fecha a tipo DATE

Date fechaInicial = formatoFecha.parse(fechaact);

//Realizamos la consulta

Query q = getEntityManager().createNamedQuery("Alumno.findByFecha");

q.setParameter("fechaInicial", fechaInicial);

q.setParameter("fechaActual", fechaActual);

//Retornamos el resultado

return q.getResultList();

} catch (ParseException ex) {

//String de fecha con formato incorrecto

Logger.getLogger(AlumnoFacadeREST.class.getName()).log(Level.SEVERE, null, ex);

return null;

}

}





11



12



Anexo2
@GET

@Path("by")

@Produces({"application/json"})

public List<Materia> findByFecha(@QueryParam("fecha_modificado") String fechaact) {

//Obtenemos la fecha actual

Calendar calendario = GregorianCalendar.getInstance();

Date fechaActual = calendario.getTime();

SimpleDateFormat formatoFecha = new SimpleDateFormat("yyyy-MM-dd");

try {

//Parseamos la fecha a tipo DATE

Date fechaInicial = formatoFecha.parse(fechaact);

//Realizamos la consulta

Query q = getEntityManager().createNamedQuery("Materia.findByFecha");

q.setParameter("fechaInicial", fechaInicial);

q.setParameter("fechaActual", fechaActual);

//Retornamos el resultado

return q.getResultList();

} catch (ParseException ex) {

//String de fecha con formato incorrecto

Logger.getLogger(MateriaFacadeREST.class.getName()).log(Level.SEVERE, null, ex);

return null;

}

}





Anexo 3
@GET

13

@Path("prom/{carnet}")

@Produces(MediaType.APPLICATION_JSON)

public String getPromedio(@PathParam("carnet") String carnet) throws Exception {

Query q = getEntityManager().createNamedQuery("Nota.findAvg");

q.setParameter("carnet", carnet);

List<Nota> notas = q.getResultList();

Float suma = new Float(0);

for (Nota n : notas)suma = suma + n.getNotafinal();

JSONObject jo = new JSONObject();

try {

if (notas.isEmpty()) {

jo.put("promedio",0);

return jo.toString();

} else {

Float prom = suma / notas.size();

jo.put("promedio",prom );

return jo.toString();

}

} catch (JSONException ex) {

Logger.getLogger(NotaFacadeREST.class.getName()).log(Level.SEVERE, null, ex);

return null;

}

}
  • Links de descarga
http://lwp-l.com/pdf13723

Comentarios de: Modificaciones a Servicio Web Netbeans-java,Glassfish MySQL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad