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
398 visualizaciones desde el 3 de Octubre del 2018
944,0 KB
15 paginas
Creado hace 1a (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
Es necesario revisar y aceptar las políticas de privacidad