Lezione programmazione database con java Servlet - quarta parte

28
Jun 10, 2 022 Tutorial JSP database- quarta parte Silvano Natalizi

description

come programmare una servlet per gestire il crud di una tabella relazionale

Transcript of Lezione programmazione database con java Servlet - quarta parte

Page 1: Lezione programmazione database con java Servlet - quarta parte

Apr 13, 2023

Tutorial JSP database-quarta parte

Silvano Natalizi

Page 2: Lezione programmazione database con java Servlet - quarta parte

Obiettivo della lezione

L’obiettivo di questa lezione è quello di fare il CRUD con l’uso di una servlet che fa da controllore

pertanto implementiamo una servlet con le quattro operazioni del CRUD

per ciascuna delle quattro operazioni Create, Read, Update, Delete scriviamo un metodo nella servlet

inoltre associeremo a ciascuna azione l’opportuna pagina jsp.

Page 3: Lezione programmazione database con java Servlet - quarta parte

Piano per realizzare questa centralizzazione del CRUD

Per ogni tabella implementiamo una distinta servlet con tutto il codice java centralizzato in un solo posto

Per ogni pagina web implementiamo una java server page alla quale la precedente servlet passa i dati

ad ogni link o form di una pagina web, che richieda l’intervento della servlet per eseguire una certa azione, forniamo un’opportuna variabile con un valore che rappresenta l’azione da eseguire

Page 4: Lezione programmazione database con java Servlet - quarta parte

Quando la servlet è in esecuzione

Quando Tomcat manda in esecuzione la servlet necessaria a soddisfare le richieste del link o della form ricevuta, questa servlet esegue per prima cosa il metodo doGet() o doPost()

Dopo aver letto con request.getParameter() i parametri con i valori inviati dal browser, decidiamo quale metodo eseguire sulla base del valore dell’operazione ricevuto.

Page 5: Lezione programmazione database con java Servlet - quarta parte

L’attuale procedura funziona così:

Dal menu’ iniziale, quando si clicca sulla parola calda “Gestisci i titoli” al server viene richiesto di eseguire la java server page IndiceTitolo.jsp

Page 6: Lezione programmazione database con java Servlet - quarta parte

IndiceTitolo.jsp legge la tabella e crea la pagina web con l’indice e i link alle operazioni

Page 7: Lezione programmazione database con java Servlet - quarta parte

Sostituiamo alla jsp una classe servlet

Dobbiamo sostituire alla jsp una opportuna servlet Questa servlet deve fare tutto quello che fanno le jsp

nella precedente release della procedura tutte le operazioni CRUD

In particolare all’inizio deve leggere la tabella ed inviare i dati ad una opportuna jsp che si occuperà solo di creare la pagina web con l’elenco delle righe ed i link alle operazioni.

Page 8: Lezione programmazione database con java Servlet - quarta parte

Ristrutturazione del codice -1

Creiamo la cartella libri di webapps All’interno di essa la cartella WEB-INF Nella cartella WEB-INF creiamo la cartella classes e lib Creiamo il file web.xml vuoto Dentro lib copiamo il file mysql-connector-java-5.1.12-

bin.jar

Page 9: Lezione programmazione database con java Servlet - quarta parte

Ristrutturazione del codice -2

Creiamo la classe GestisciTitolo.java vuota e salviamola dentro classes

Compiliamola e verifichiamo che GestisciTitolo.class sia nel package com.database.libri

Page 10: Lezione programmazione database con java Servlet - quarta parte

Comando di compilazione

javac –d . GestisciTitolo.java

Con il precedente comando il file compilato GestisciTitolo.class viene automaticamente copiato dentro il package

Inoltre non c’è bisogno di creare le cartelle del package, perché vengono generate direttamente, la prima volta che viene eseguito tale comando.

Page 11: Lezione programmazione database con java Servlet - quarta parte

Modifichiamo menu.html

Il pathname per eseguire la servlet GestisciTitolo sia /libri/titolo (è necessario il primo slash /)

dovremo mettere come valore dell’attributo href del link: href=“libri/titolo?azione=1”

Page 12: Lezione programmazione database con java Servlet - quarta parte

Navigare nel menu.html

Per lanciare il menù, digitare l’indirizzo web :

localhost:8080/libri/menu.html

Ma non funziona ???!!!

Page 13: Lezione programmazione database con java Servlet - quarta parte

Occorre il file web.xml !

Lo abbiamo già creato nella cartella web-inf, ma non basta!

Occorre aggiungere il minimo possibile di istruzioni:

Page 14: Lezione programmazione database con java Servlet - quarta parte

Adesso facciamo corrispondere al pathname il nome fisico della classe

Page 15: Lezione programmazione database con java Servlet - quarta parte

Lanciamo la prima opzione del menù

Se il programma java non estende HttpServlet non viene riconosciuto come servlet ed abbiamo l’errore 404 o 500

Pertanto dobbiamo sistemare il codice di GestioneTitolo.java

Page 16: Lezione programmazione database con java Servlet - quarta parte

Primo tentativo

Page 17: Lezione programmazione database con java Servlet - quarta parte

Tutto bene !

Ora codifichiamo il primo metodo “index” per leggere la tabella titolo e preparare i dati per la pagina elenco titoli.

Prima però sistemiamo una volta per tutte il collegamento con il database scrivendo una classe il cui scopo è proprio quello di collegarci al database.

Page 18: Lezione programmazione database con java Servlet - quarta parte

Scriviamo la classe CollegamentoDatabase

Page 19: Lezione programmazione database con java Servlet - quarta parte

Quindi cominciamo a scrivere GestioneTitolo.java - 1

Page 20: Lezione programmazione database con java Servlet - quarta parte

GestioneTitolo.java - 2

Page 21: Lezione programmazione database con java Servlet - quarta parte

GestioneTitolo.java - 3

Page 22: Lezione programmazione database con java Servlet - quarta parte

GestioneTitolo.java - 4

Page 23: Lezione programmazione database con java Servlet - quarta parte

Bene gira !!

Visto che gira, implementiamo la prima funzione, ossia quella index(), il cui scopo è quello di leggere tutte le righe della tabella titolo e di inviarle all’opportuna jsp per visualizzare l’interfaccia grafica.

Page 24: Lezione programmazione database con java Servlet - quarta parte

il metodo index()

Page 25: Lezione programmazione database con java Servlet - quarta parte

La java server page Index.jsp

Page 26: Lezione programmazione database con java Servlet - quarta parte

collaudo

Page 27: Lezione programmazione database con java Servlet - quarta parte

Ok! Siamo arrivati al termine del quarto giorno di lavoro

Che cosa abbiamo prodotto ? Abbiamo implementato solo la prima della quattro

operazioni fondamentali del CRUD. Tuttavia c’è una cosa buona:

abbiamo usato poco codice duplicato. Dobbiamo ancora implementare le altre operazioni, ma

la servlet è sempre quella! Non resta che aggiungere gli altri metodi.

Page 28: Lezione programmazione database con java Servlet - quarta parte

The End

Continua…