Laboratorio di Sistemi Autenticazione utente mediante MySQL Jsp [Java]

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Sistemi Autenticazione utente mediante MySQL Jsp [Java]"

Transcript

1 Per la comprensione del presente articolo, occorre aver assimilato i concetti esposti nell'articolo Prototipo autenticazione utente (file autenticazione_2.pdf). (Tratto da Wikipedia, l'enciclopedia libera) Funzione MD5 L'MD5 (acronimo di Message Digest algorithm 5) è un algoritmo per la crittografia dei dati a senso unico realizzato da Ronald Rivest (nella foto) nel 1991 e standardizzato con la RFC Questo tipo di codifica prende in input una stringa di lunghezza arbitraria e ne produce in output un'altra a 128 bit (ovvero con lunghezza fissa di 32 valori esadecimali, indipendentemente dalla stringa di input) che può essere usata per calcolare la firma digitale dell'input. La codifica avviene molto velocemente e si presuppone che l'output (noto anche come "MD5 Checksum" o "MD5 Hash") restituito sia univoco (ovvero si ritiene che sia impossibile, o meglio, che sia altamente improbabile ottenere con due diverse stringhe in input una stessa firma digitale in output) e che non ci sia possibilità, se non per tentativi, di risalire alla stringa di input partendo dalla stringa di output (la gamma di possibili valori in output è pari a 16 alla 32esima potenza). Applicazione pratica dell'md5 La crittografia tramite algoritmo MD5 viene applicata in tutti i settori dell'informatica che lavorano con il supporto delle firme digitali o che comunque trattano dati sensibili. Ad esempio, viene utilizzata per controllare che uno scambio di dati sia avvenuto senza perdite, semplicemente attraverso il confronto della stringa prodotta dal file inviato con quella prodotta dal file ricevuto. Con lo stesso metodo si può verificare se il contenuto di un file è cambiato (funzione utilizzata dai motori di ricerca per capire se una pagina deve essere nuovamente indicizzata). È diffuso anche come supporto per l'autenticazione degli utenti attraverso i linguaggi di scripting Web server-side (PHP in particolare): durante la registrazione di un utente su un portale internet, la password scelta durante il processo verrà codificata tramite MD5 e la sua firma digitale verrà memorizzata nel database (o in qualsivoglia contenitore di dati). autenticazione_3.pdf Pag. 1/17 Cozzetto

2 Successivamente, durante il login la password immessa dall'utente subirà lo stesso trattamento e verrà confrontata con la copia in possesso del server, per avere la certezza dell'autenticità del login. (Fine testo tratto da Wikipedia) Esempio con Php E' facilissimo costruire un piccolo esempio di utilizzo della funzione md5 in Php (md5 è una funzione built-in del linguaggio). File md5.php <?php?> $a="pippo"; echo ($a."=".md5($a)); Collochiamo la pagina nella cartella htdocs di Xampp e digitiamo la url nel browser Otteniamo una sequenza di 32 valori esadecimali come previsto dalla definizione vista precedentemente. Esempio con Jsp In java, le cose sono leggermente più complesse. Scriviamo, come avviene normalmente con una qualsiasi applicazione java, prima di tutto una classe (che chiameremo MD5) e dotiamo questa classe di un metodo statico che chiameremo md5 (in minuscolo). Il metodo accetta come parametro di input una stringa e restituisce in output una nuova stringa che rappresenta l'impronta della stringa iniziale, in accordo autenticazione_3.pdf Pag. 2/17 Cozzetto

3 con la definizione. /* * MD5.java package it.itiscastelli.classi; import java.security.messagedigest; import java.security.nosuchalgorithmexception; * maurizio public class MD5 { public MD5() { public static String md5(string message) throws NoSuchAlgorithmException { // utilizziamo la classe MessageDigest del package java.security MessageDigest md; try { // getinstance vuole come argomento la costante MD5 che rappresenta // l'algoritmo md5 md = MessageDigest.getInstance("MD5"); catch (NoSuchAlgorithmException ex) { throw new NoSuchAlgorithmException("Errore. Non esiste un tale algoritmo."); // stringbuffer di appoggio StringBuffer sb = new StringBuffer(); // il metodo digest vuole come argomento un array di byte e restituisce un array // di byte byte[] messdig5 = md.digest(message.getbytes()); // trasformiamo l'array di byte in una stringa for( int i = 0 ; i < messdig5.length ; i++ ) { String tmpstr = "0"+Integer.toHexString( (0xff & messdig5[i])); sb.append(tmpstr.substring(tmpstr.length()-2)); // restituiamo la stringa ottenuta da sb return sb.tostring(); // fine metodo md5 // fine classe MD5 autenticazione_3.pdf Pag. 3/17 Cozzetto

4 Poi progettiamo una piccola web application (MD5WebApp) con la quale testare il metodo appena descritto. File index.jsp import="it.itiscastelli.classi.*" %> contenttype="text/html" pageencoding="iso "%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>prova MD5</title> <style> body, td, tr { font-family: Verdana, Arial, "Trebuchet MS"; font-size: 13px; </style> </head> <body> <h3>hello MD5!</h3> <% String messaggio = "pippo"; out.println( messaggio + "=" + MD5.md5(messaggio) ); %> </body> </html> autenticazione_3.pdf Pag. 4/17 Cozzetto

5 Come si può facilmente vedere, la stringa ottenuta è esattamente la stessa rispetto a quella ottenuta mediante Php. Database MySQL users_db Prepariamo ora un database MySQL users_db e la tabella users_tbl con la seguente struttura: Il campo id rappresenta la chiave primaria della nostra tabella (di tipo autoincrement). Il campo password riceverà le password criptate degli utenti mediante il metodo md5 come spiegato precedentemente. Per gestire più facilmente l'inserimento dei dati, utilizziamo il noto applicativo PhpMyAdmin che è dotato di una comoda interfaccia web. Prepariamo alcuni dati di prova sfruttando uno dei due applicativi (quello in Php o quello in Jsp) descritti precedentemente. La web application PasswordDBWebApp Il nostro sistema di autenticazione utente è costituito da 3 classi (Utente, DAO e MD5) e 3 ulteriori pagine web (in aggiunta a index.jsp), login.jsp, riservata.jsp, logout.jsp. NetBeans 5.5 Ricordatevi di scaricare i driver di MySQL se usate una versione meno recente della 6.1 di NetBeans. Se invece usate NetBeans 6.1 o NetBeans 6.5, allora i driver sono già inclusi in NetBeans e potete facilmente aggiungerli al progetto (tasto destro del mouse sul progetto > Proprietà > Librerie > MySQL Driver). Per coloro che disponessero invece di NetBeans 5.5, ecco la corretta procedura per aggiungere i driver java (noti come MySQL Connector/JDBC): dal link (oppure dal sito della Sun visto che l'azienda che produce MySQL è stata appena acquisita da Sun MicroSystem) scarichiamo il file.tar.gz o il file.zip, poi estraiamo solo il file mysql-connector-java bin.jar e copiamolo ora nella cartella lib (apriamo la cartella web, poi andiamo in WEB-INF e creiamo la cartella lib all'interno). E' tutto. autenticazione_3.pdf Pag. 5/17 Cozzetto

6 Ecco ora il codice del nostro applicativo: /* * DAO.java package it.itiscastelli.classi; import java.sql.connection; import java.sql.date; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import java.util.gregoriancalendar; * maurizio public class DAO implements java.io.serializable { private Connection conn; public DAO() throws ClassNotFoundException, SQLException { // // chiusura della connessione public void closeconn() throws SQLException { getconn().close(); // fine metodo closeconn() // caricamento dei driver e apertura della connessione al database public void openconn() throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Driver caricati."); setconn(drivermanager.getconnection("jdbc:mysql://localhost:3306/users_db? user=root&password=")); System.out.println("Connessione stabilita."); // fine metodo openconn() public Utente cercautente(string username, String password) throws Exception, SQLException { Statement st = null; ResultSet rs = null; if (username.equals("") && password.equals("")) throw new Exception("Attenzione! Non puoi lasciare username e password vuoti."); autenticazione_3.pdf Pag. 6/17 Cozzetto

7 if (username.equals("")) throw new Exception("Attenzione! Non puoi lasciare il campo username vuoto."); if (password.equals("")) throw new Exception("Attenzione! Non puoi lasciare il campo password vuoto."); try { String sql="select * FROM users_tbl WHERE username='"+username+"' AND password='"+it.itiscastelli.classi.md5.md5(password)+"'"; st=conn.createstatement(); rs = st.executequery(sql); if (!rs.next()) { // record non trovato rs.close(); st.close(); //conn.close(); return null; else { // record individuato it.itiscastelli.classi.utente v = new it.itiscastelli.classi.utente(); v.setusername(rs.getstring("username")); v.setluogodinascita(rs.getstring("luogo_di_nascita")); Date datanascita = rs.getdate("data_di_nascita"); // trasformo la data di MySQL in un oggetto // di tipo GregorianCalendar GregorianCalendar data = new GregorianCalendar(); data.settime(datanascita); // imposto l'attributo data dell'oggetto v v.setdatadinascita(data); rs.close(); st.close(); //conn.close(); return v; // end if catch (SQLException e) { throw new SQLException("Impossibile eseguire la query o chiudere la connessione."); // fine try-catch // fine metodo autenticazione_3.pdf Pag. 7/17 Cozzetto

8 the conn public Connection getconn() { return conn; conn the conn to set public void setconn(connection conn) { this.conn = conn; // fine classe DAO /* * Utente.java package it.itiscastelli.classi; import java.util.gregoriancalendar; * maurizio public class Utente implements java.io.serializable { private int id; private String username; private String password; private String luogodinascita; private GregorianCalendar datadinascita; Creates a new instance of Utente public Utente() { // public Utente(String username, String password) { this.username=username; this.password=password; autenticazione_3.pdf Pag. 8/17 Cozzetto

9 the id public int getid() { return id; id the id to set public void setid(int id) { this.id = id; the username public String getusername() { return username; username the username to set public void setusername(string username) { this.username = username; the password public String getpassword() { return password; password the password to set public void setpassword(string password) { this.password = password; the luogodinascita public String getluogodinascita() { return luogodinascita; autenticazione_3.pdf Pag. 9/17 Cozzetto

10 luogodinascita the luogodinascita to set public void setluogodinascita(string luogodinascita) { this.luogodinascita = luogodinascita; the datadinascita public GregorianCalendar getdatadinascita() { return datadinascita; datadinascita the datadinascita to set public void setdatadinascita(gregoriancalendar datadinascita) { this.datadinascita = datadinascita; // fine classe Utente Riportiamo qui invece di seguito le pagine web: File index.jsp <%@page import="it.itiscastelli.classi.*" %> <%@page contenttype="text/html" pageencoding="iso "%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>prova MD5</title> <style> body, td, tr { font-family: Verdana, Arial, "Trebuchet MS"; font-size: 13px; </style> </head> <body> <h3>hello MD5!</h3> <% String messaggio = "pippo"; out.println( messaggio + "=" + MD5.md5(messaggio) ); %> </body></html> autenticazione_3.pdf Pag. 10/17 Cozzetto

11 File login.jsp contenttype="text/html" pageencoding="iso "%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso "> <title>pagina di login</title> <style> body, td, tr { font-family: Verdana, Arial, "Trebuchet MS"; font-size: 13px; </style> </head> <body> <h3>login utente</h3> <% // visualizza l'id di sessione per scopi di debugging out.println("<p>session ID: "+session.getid()+"</p>"); if (session.getattribute("utente")!=null) response.sendredirect("riservata.jsp"); %> <form name="provafrm" action="${request.requesturi" method="post" > <p>username <input type="text" name="usernametxt" value="$ {param.usernametxt" /><br/> Password <input type="password" name="passwordtxt" value="$ {param.passwordtxt" /><br/> <input type="submit" name="inviabtn" value="invia"/></p> </form> <% if (request.getparameter("inviabtn")!=null) { it.itiscastelli.classi.dao dao; try { dao=new it.itiscastelli.classi.dao(); dao.openconn(); catch(exception e) { out.println(e.getmessage()); return; String username = request.getparameter("usernametxt"); String password = request.getparameter("passwordtxt"); it.itiscastelli.classi.utente v=null; autenticazione_3.pdf Pag. 11/17 Cozzetto

12 try { v = dao.cercautente(username, password); catch (Exception e) { dao.closeconn(); out.println(e.getmessage()); return; if (v!=null) { session.setattribute("utente",v); response.sendredirect("riservata.jsp"); else { out.println("accesso non consentito. Per cortesia, riprova a inserire username e password."); response.setheader("refresh","5; login.jsp"); // fine if %> // chiudo la connessione dao.closeconn(); </body> </html> File riservata.jsp <%@page contenttype="text/html"%> <%@page pageencoding="utf-8"%> <%@page import="java.util.gregoriancalendar" %> <%@page import="java.util.calendar" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>pagina riservata</title> <style> body, td, tr { font-family: Verdana, Arial, "Trebuchet MS"; font-size: 13px; </style> </head> <body> <h3>accesso riservato</h3> <% // visualizza l'id di sessione per scopi di debugging out.println("<p>session ID: "+session.getid()+"</p>"); autenticazione_3.pdf Pag. 12/17 Cozzetto

13 // se l'attributo utente non esiste if (session.getattribute("utente")==null) { out.println("<p>pagina riservata. Non puoi accedere a queste informazioni.</p>"); out.println("<p>tra pochi secondi verrai rediretto verso la home page.</p>"); response.setheader("refresh","5; login.jsp"); else { it.itiscastelli.classi.utente v = (it.itiscastelli.classi.utente) session.getattribute("utente"); out.println("benvenuto "+v.getusername()+". Accesso consentito."); GregorianCalendar d = v.getdatadinascita(); int giorno = d.get(calendar.day_of_month); int mese = d.get(calendar.month)+1; int anno = d.get(calendar.year); String datanascita = giorno+"/"+mese+"/"+anno; out.println("sei nato il "+datanascita+ " a "+v.getluogodinascita()+"."); out.println("<p><a href='logout.jsp'>logout</a></p>"); %> </body> </html> File logout.jsp <%@page contenttype="text/html"%> <%@page pageencoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>pagina di logout</title> <style> body, td, tr { font-family: Verdana, Arial, "Trebuchet MS"; font-size: 13px; </style> </head> <body> <h3>pagina di logout</h3> <% // visualizza l'id di sessione per scopi di debugging out.println("<p>session ID: "+session.getid()+"</p>"); // se l'attributo della sessione esiste e non è nullo if (session.getattribute("utente")!=null) { it.itiscastelli.classi.utente v = (it.itiscastelli.classi.utente) session.getattribute("utente"); autenticazione_3.pdf Pag. 13/17 Cozzetto

14 out.println("grazie "+v.getusername()+" di aver usato l'applicativo."); session.removeattribute("utente"); session.invalidate(); out.println("<p>tra pochi secondi verrai rediretto verso la home page.</p>"); response.setheader("refresh","5; login.jsp"); else { response.sendredirect("login.jsp"); %> </body></html> Vediamo in azione il nostro applicativo: Fig. 1 Login con username e password errati autenticazione_3.pdf Pag. 14/17 Cozzetto

15 Fig. 2 Messaggio di errore: accesso non consentito Fig. 3 Dati corretti autenticazione_3.pdf Pag. 15/17 Cozzetto

16 Fig. 4 Accesso consentito Fig. 5 Logout dall'applicativo autenticazione_3.pdf Pag. 16/17 Cozzetto

17 Fig. 6 L'ID di sessione è cambiato autenticazione_3.pdf Pag. 17/17 Cozzetto

Laboratorio di Sistemi Autenticazione utente mediante MySQL Jsp [Java]

Laboratorio di Sistemi Autenticazione utente mediante MySQL Jsp [Java] Per la comprensione del presente articolo, occorre aver assimilato i concetti esposti nell'articolo Prototipo autenticazione utente (file autenticazione_2.pdf). (Tratto da Wikipedia, l'enciclopedia libera)

Dettagli

Laboratorio di sistemi Autenticazione utente mediante scriplet Jsp [NetBeans]

Laboratorio di sistemi Autenticazione utente mediante scriplet Jsp [NetBeans] Figura 1 - La pagina input_user.jsp appena caricata Figura 2 - Lascio vuoti entrambi i campi o immetto un solo valore Figura 3 - Immetto dei valori che non esistono nel database autent_utente_scriplet.pdf

Dettagli

Laboratorio di Sistemi Prototipo autenticazione utente Jsp [Java]

Laboratorio di Sistemi Prototipo autenticazione utente Jsp [Java] Vogliamo realizzare un prototipo di applicativo web che consenta a un gruppo di utenti di autenticarsi. In prima istanza, carichiamo in memoria tutti gli utenti ammessi ad accedere al sistema, in seconda

Dettagli

Laboratorio di sistemi SELECT e checkbox Jsp [Java]

Laboratorio di sistemi SELECT e checkbox Jsp [Java] Fig. 1 - Vogliamo visualizzare book_id, autore e titolo dalla tabella books del database shop Fig. 2 - Tabella books select_checkbox.pdf Pag. 1/5 Cozzetto Fig. 3 - Abbiamo due record in output File index_1.jsp

Dettagli

1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet

1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet 1 Gestione dell utente connesso in sessione con Java Server Pages, Java Beans, Servlet Controllo dell utente connesso al sito tramite JSP, Java Beans e Servlet. Ciò che ci proponiamo di fare è l accesso

Dettagli

Laboratorio di sistemi Information hiding Jsp [Java]

Laboratorio di sistemi Information hiding Jsp [Java] Vogliamo realizzare una pagina web che ci consenta di filtrare i record della tabella books del database MySQL shop. Fig. 1 Tabella books, database MySQL shop Il filtro viene scritto direttamente dall'utente

Dettagli

Laboratorio di sistemi Prima Web Application JSP [Java]

Laboratorio di sistemi Prima Web Application JSP [Java] Vogliamo scrivere la nostra prima web application che legga da tastiera il nostro nome e fornisca un messaggio di saluto. Per costruire la nostra applicazione creiamo con NetBeans un nuovo progetto. File

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE Programmare in Php con Xampp e NetBeans IDE NetBeans è un IDE ben noto ai programmatori Java. Con esso si possono infatti costruire applicazioni desktop professionali dotate di interfaccia grafica, applicazioni

Dettagli

Laboratorio di Sistemi Accesso a un database Jsp [NetBeans]

Laboratorio di Sistemi Accesso a un database Jsp [NetBeans] Modifichiamo l applicativo ListaSupereroiWebApp in modo che i dati dei supereroi non vengano caricati staticamente mediante delle istruzioni di assegnamento ma dinamicamente leggendo i record della tabella

Dettagli

Laboratorio di sistemi Web Application in Php5 Php

Laboratorio di sistemi Web Application in Php5 Php Applicazioni web con Xampp, Php5 e NetBeans 6.5 (Windows) Vogliamo ora riscrivere a titolo di prova un'applicazione web precedentemente scritta in Java (si legga l'articolo all'indirizzo http://www.mauriziocozzetto.net/pdf/dao_mysql.pdf).

Dettagli

Laboratorio di Sistemi CRUD con MySQL JSP (Java)

Laboratorio di Sistemi CRUD con MySQL JSP (Java) Il problema Vogliamo realizzare un applicativo web che consenta di inserire, modificare e cancellare i record della tabella libri_tbl (database MySQL biblio_db). In questi casi, parliamo di applicativo

Dettagli

Laboratorio di Sistemi Accesso a un database MySQL NetBeans [Jsp]

Laboratorio di Sistemi Accesso a un database MySQL NetBeans [Jsp] Figura 1 Vogliamo realizzare una pagina web simile alla precedente: i dati si trovano nel db MySQL simpsons_db all'interno della tabella simpsons_tbl simpsons_mysql.pdf Pag. 1/12 Cozzetto Figura 2 - La

Dettagli

<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>jsp Page</title> </head> <body>

<html> <head> <meta http-equiv=content-type content=text/html; charset=utf-8> <title>jsp Page</title> </head> <body> itext è una libreria (ottimizzata per l uso in java) per generare pdf al volo ideata da Bruno Lowagie e Paolo Soares. Per poter sviluppare un applicazione con NetBeans, dobbiamo intanto scaricare il file

Dettagli

Introduzione JDBC interfaccia java.sql driver caricare i driver

Introduzione JDBC interfaccia java.sql driver caricare i driver J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

Laboratorio di sistemi MVC versione 2 Jsp (NetBeans)

Laboratorio di sistemi MVC versione 2 Jsp (NetBeans) Definizione Adattato da "http://it.wikipedia.org/wiki/model-view-controller" Model-View-Controller (MVC, talvolta tradotto in italiano Modello-Vista-Controllore) è il nome di un design pattern fondamentale

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Laboratorio di Sistemi DAO JSP (Java)

Laboratorio di Sistemi DAO JSP (Java) Il problema Vogliamo progettare una piccola web application che ci consenta di ottenere, scegliendo un autore da una combo box, l'elenco dei libri scritti da quell'autore (è un esempio già trattato in

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di

Dettagli

Lavorare con MySQL Parte Seconda.

Lavorare con MySQL Parte Seconda. Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Non si deve fare ALCUN riferimento alla parte specifica di JDBC.

Non si deve fare ALCUN riferimento alla parte specifica di JDBC. Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si

Dettagli

Let's start! File > New Project > Ruby > Ruby on Rails Application (events)

Let's start! File > New Project > Ruby > Ruby on Rails Application (events) La nuova versione di Netbeans 6 consente di lavorare con Ruby On Rails, un potente e nuovissimo framework per lo sviluppo e la prototipazione di applicazioni web, che fa uso del design-pattern MVC (Model-View-Controller,

Dettagli

PHP e MySQL. Scripting server-side per accesso a DB MySQL

PHP e MySQL. Scripting server-side per accesso a DB MySQL PHP e MySQL Scripting server-side per accesso a DB MySQL Connessione a un DB MySQL Prima di accedere ai dati è necessario creare una connessione con il DB In PHP si utilizza la funzione mysql_connect,

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Le JavaServer Pages - Lezione 7 I JavaBean

Le JavaServer Pages - Lezione 7 I JavaBean Le JavaServer Pages - Lezione 7 I JavaBean A cura di Giuseppe De Pietro (depietro_giuseppe@yahoo.it) Contenuti Nelle lezioni precedenti abbiamo visto gli elementi principali delle Java Server Pages, come

Dettagli

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem: Cookie e Webstorage Un cookie (letteralmente biscotto) è un pacchetto di informazioni che viene salvato sul computer dell utente. In successive sessioni di collegamento a Internet (normalmente per un periodo

Dettagli

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti Corso di Sicurezza Informatica Sicurezza del software Ing. Gianluca Caminiti SQL Injection Sommario Premessa sul funzionamento dei siti dinamici SQL Injection: Overview Scenari di attacco: Errata gestione

Dettagli

Laboratorio di Sistemi Distribuiti Leonardo Mariani

Laboratorio di Sistemi Distribuiti Leonardo Mariani Laboratorio di Sistemi Distribuiti Leonardo Mariani ELECTION ALGORITHMS In molti sistemi distribuiti un processo deve agire da (o svolgere un ruolo particolare) per gli altri processi. Spesso non è importante

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

JDBC. A. Bechini 2004. Accesso a DataD con Java

JDBC. A. Bechini 2004. Accesso a DataD con Java JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione

Dettagli

1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages

1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages 1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages Le JSP DynPages sono un utile strumento, fornito da SAP Netweaver, per una gestione più evoluta di event handling e session

Dettagli

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Procedura di login e sessione

Procedura di login e sessione Procedura di login e sessione Costruire una pagina Web con un form di login per l inserimento delle credenziali dell utente (email, password). Si consideri il database db1 su server MySQL con la tabella

Dettagli

RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE

RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE RELAZIONE PROGETTO DATABASE GESTIONE BIBLIOTECA PERSONALE Mameli Salvatore-M01/000153 SOMMARIO 1 INTRODUZIONE 1.1 Project Overview 1.2 Ambiente del prodotto 1.3 Document Overview 2 - PROGETTAZIONE 2.1

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli

Trasformare una Java (Console) Application in una Web Application (con utilizzo di un database MySQL)

Trasformare una Java (Console) Application in una Web Application (con utilizzo di un database MySQL) Pag. 1/12 Trasformare una Java (Console) Application in una Web Application (con utilizzo di un database MySQL) Prendiamo in esame un qualsiasi progetto NetBeans tra quelli studiati che fa uso di un database

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: http:// sdfonline.unimc.it/info/modulo.jsp;

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: http:// sdfonline.unimc.it/info/modulo.jsp; JAVA SERVER PAGES Una pagina JSP (Java Server Pages), richiesta da un utente (client), viene eseguita dal server web nella propria memoria; generalmente il prodotto dell elaborazione è una pagina html

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

Caricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement

Caricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement JDBC Programmazione in Ambienti Distribuiti V 1.4 Marco Torchiano 2006 Uso di JDBC Caricamento della classe driver Class.forName() Apertura della connessione DriverManager.getConnection() Creazione di

Dettagli

Interazione con l utente : i moduli.

Interazione con l utente : i moduli. Interazione con l utente : i moduli. Nelle lezioni fin qui riportate, non abbiamo mai trattato l input di utente. Nelle applicazioni web, l input dell utente si acquisisce tramite i moduli (o FORM) HTML.

Dettagli

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server 2) Il Server richiama l'interprete PHP il quale esegue i comandi contenuti nel file.php specificato nell'attributo action del tag form creando un file HTML sulla base dei dati inviati dall utente 1) Il

Dettagli

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato

Dettagli

Programmazione Web. Laboratorio 4: PHP e MySQL

Programmazione Web. Laboratorio 4: PHP e MySQL Programmazione Web Laboratorio 4: PHP e MySQL Lavagna elettronica (I) Un unità aziendale di decision making opera per le decisioni di tipo consueto e ripetitivo tramite la procedura seguente: un qualsiasi

Dettagli

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB

PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB Precondizioni Per poter eseguire i passi previsti da questa procedura è necessario che: - l'operatore (di seguito OP) abbia presentato l istanza

Dettagli

RELAZIONE TECNICA SUL SITO DELLA PALESTRA. Anno scolastico 2013-2014. Alunno: Davide martinicca. Pagina 1

RELAZIONE TECNICA SUL SITO DELLA PALESTRA. Anno scolastico 2013-2014. Alunno: Davide martinicca. Pagina 1 RELAZIONE TECNICA SUL SITO DELLA PALESTRA Anno scolastico 2013-2014 Alunno: Davide martinicca Pagina 1 INDICE: Pag. 2 Pag. 3 Traccia del programma Tabella delle variabili, Sorgente HTML Pag. 4, 5, 6 Sorgente

Dettagli

Progettazione Web Applicazioni client-server

Progettazione Web Applicazioni client-server Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver

Dettagli

Laboratorio di Sistemi Prototipo applicazione Biblioteca Jsp [Java]

Laboratorio di Sistemi Prototipo applicazione Biblioteca Jsp [Java] Vogliamo progettare un prototipo di applicazione web che consenta ad un utente di ottenere, selezionando l'autore da una casella combinata, l'elenco dei libri scritti da quell'autore, come nelle figure

Dettagli

Guida all utilizzo di mysm 2.0. Ver 1.0 1

Guida all utilizzo di mysm 2.0. Ver 1.0 1 Guida all utilizzo di mysm 2.0 Ver 1.0 1 COSA E? mysm è uno strumento che permette di visualizzare i progetti, l elenco dei punti vendita (Point Of Sale) e il corrispondente stato di avanzamento lavori

Dettagli

Realizzare il layout di un sito web senza utilizzare frame e tabelle

Realizzare il layout di un sito web senza utilizzare frame e tabelle Realizzare il layout di un sito web senza utilizzare frame e tabelle Questa guida descrive in maniera semplice e essenziale i passi necessari alla realizzazione di una pagina web strutturata in maniera

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Tecnologia e Applicazioni Internet 2011/12

Tecnologia e Applicazioni Internet 2011/12 Tecnologia e Applicazioni Internet 2011/12 Lezione 4 - Persistenza Matteo Vaccari http://matteo.vaccari.name/ matteo.vaccari@uninsubria.it Perché usare un DB relazionale? Per l accesso concorrente ai dati

Dettagli

Cosa succede quando si naviga

Cosa succede quando si naviga Programma corso Introduzione (spicciola) di architettura del web Creazione del sito e primi passi Sito statico o blog? Inserimento ed aggiornamento contenuti Personalizzazione grafica Iscrizione ai motori

Dettagli

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Laboratorio Progettazione Web PHP e FORMs HTML Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Struttura Applicazioni Web Browser Web HTTP Server Web API Dati Presentation Application Storage

Dettagli

Liberamente adattato da Java dai fondamenti alla programmazione avanzata JS2E versione 1.5 di Karsten Samaschke, Apogeo editrice

Liberamente adattato da Java dai fondamenti alla programmazione avanzata JS2E versione 1.5 di Karsten Samaschke, Apogeo editrice Liberamente adattato da Java dai fondamenti alla programmazione avanzata JS2E versione 1.5 di Karsten Samaschke, Apogeo editrice Vogliamo realizzare un'applicazione di tipo CRUD (Create, Read, Update,

Dettagli

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31

Dettagli

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo

Dettagli

1. ACCESSO AL PORTALE easytao

1. ACCESSO AL PORTALE easytao 1. ACCESSO AL PORTALE easytao Per accedere alla propria pagina personale e visualizzare la prescrizione terapeutica si deve possedere: - un collegamento ad internet - un browser (si consiglia l utilizzo

Dettagli

PRE-REQUISITI PER L'USO DELLO STRUMENTO

PRE-REQUISITI PER L'USO DELLO STRUMENTO PRE-REQUISITI PER L'USO DELLO STRUMENTO Il sistema è stato testato su PC Microsoft Windows (Xp Sp 2 / Vista / 7) Con Browser Internet Explorer, Google Chrome; Occorre aver installato Adobe Acrobat Reader

Dettagli

4. Un ambiente di sviluppo per Java

4. Un ambiente di sviluppo per Java pag.15 4. Un ambiente di sviluppo per Java Esistono in commercio molti ambienti di sviluppo utilizzati dai programmatori Java, in particolare si tratta di editor complessi che mettono a disposizione tools

Dettagli

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL Codice documento 08052301 Data creazione 23/05/2008 Ultima revisione 06/06/2013 Software DOCUMATIC Versione 7 COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL Questo documento spiega

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm Dott.ssa Francesca A. Lisi dott.ssa Francesca A.

Dettagli

Laboratorio di sistemi Tag personalizzati Jsp [NetBeans] Sezione A

Laboratorio di sistemi Tag personalizzati Jsp [NetBeans] Sezione A Sezione A In NetBeans creiamo una applicazione web nel solito modo, confermando tutte le impostazioni proposte senza alcuna variazione. Per costruire una libreria di tag personalizzata, costruiamo innanzitutto

Dettagli

1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org

1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org 1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org Applicazione J2EE sul SAP WAS con SAP NWDS. Il SAP Web Application Server fornisce un framework integrato per lo sviluppo e l

Dettagli

Laboratorio di sistemi MVC Jsp [NetBeans]

Laboratorio di sistemi MVC Jsp [NetBeans] Estratto da "http://it.wikipedia.org/wiki/model-view-controller" Definizione Model-View-Controller (MVC, talvolta tradotto in italiano Modello-Vista-Controllore) è il nome di un design pattern fondamentale

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

Manuale Operativo. Firma Elettronica COD. PROD. D.9.3

Manuale Operativo. Firma Elettronica COD. PROD. D.9.3 Manuale Operativo Firma Elettronica COD. PROD. D.9.3 Indice Firma elettronica- Descrizione.3 Utilizzo della firma digitale..4 Avvio e configurazione 4 Login di accesso 4 Apposizione della firma digitale.5

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

AGGIORNAMENTO DATI SU PORTALE DOCENTI

AGGIORNAMENTO DATI SU PORTALE DOCENTI AGGIORNAMENTO DATI SU PORTALE DOCENTI Il sito http://docenti.unicam.it consente agli utenti di accedere alle informazioni sui docenti dell' Università di Camerino: curriculum, carichi didattici, pubblicazioni,

Dettagli

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Installazione LAMP Installare un server lamp su Linux Ubuntu Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Poi copiamo ed incolliamo nel terminale il comando: sudo apt-get

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

Laboratorio di Sistemi Fondamenti di JDBC (parte1) Java. Fondamenti di JDBC

Laboratorio di Sistemi Fondamenti di JDBC (parte1) Java. Fondamenti di JDBC Fondamenti di JDBC Concetto di driver Il dialogo fra applicazione e DBMS non è mai gestito direttamente ma passa in genere per un opportuno modulo software chiamato driver che agisce da interfaccia fra

Dettagli

Laboratorio di Sistemi Fondamenti di JDBC (parte2) Java. Implementare l'ereditarietà nel modello Relazionale

Laboratorio di Sistemi Fondamenti di JDBC (parte2) Java. Implementare l'ereditarietà nel modello Relazionale Implementare l'ereditarietà nel modello Relazionale Fig. 1 Un semplice diagramma di classe Consideriamo il diagramma di classe della Fig. 1 (per esercizio, implementate questo diagramma UML in Java, non

Dettagli

Realizzare una piccola chat in php senza database

Realizzare una piccola chat in php senza database Realizzare una piccola chat in php senza database L obiettivo di questa guida è implementare una semplice chat in linguaggio php, facilmente inseribile in qualsiasi sito. La chat che realizzeremo avrà

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

Procedura di iscrizione alla Piattaforma On Line

Procedura di iscrizione alla Piattaforma On Line PUNTO 1 Procedura di iscrizione alla Piattaforma On Line Accedere dal proprio browser internet al sito: http://www.qeselearning.it/ NOTA: è preferibile utilizzare Chrome o Firefox La schermata che le apparirà

Dettagli

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

Guida all uso. Esso sarà riportato nell intestazione. Vediamo: faxm@il è un applicazione che permette agli utenti dei sistemi di telefonia IP di inviare, ricevere e gestire fax. Il tradizionale sistema di fax è ormai superato. Con faxm@il non riceviamo né spediamo

Dettagli

LABORATORIO DI INFORMATICA 1 2014-2015. - parte 6 -

LABORATORIO DI INFORMATICA 1 2014-2015. - parte 6 - LABORATORIO DI INFORMATICA 1 2014-2015 - parte 6 - Lettura da File Obiettivo: leggere un file Per prima cosa dobbiamo creare un oggetto che rappresenti il file che vogliamo utilizzare (inserendo anche

Dettagli

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP.

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP. U.A. 5 - Database in rete con le pagine ASP e ASP.NET 269 Il controllo di SQL Injection nelle pagine ASP e ASP.NET Approfondimenti Con il termine SQL Injection si intende l aggiunta di istruzioni SQL nell

Dettagli

Esercitazione 4 JDBC

Esercitazione 4 JDBC JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1 G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O A T I C _W E B Rev. 2.1 1 1. ISCRIZIONE Le modalità di iscrizione sono due: Iscrizione volontaria Iscrizione su invito del Moderatore

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Appunti di Informatica www.mimmocorrado.it 1

Appunti di Informatica www.mimmocorrado.it 1 Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il

Dettagli

Esercitazione su JDBC

Esercitazione su JDBC Esercitazione su JDBC Basi di Dati L Ingegneria dei Processi Gestionali (Ilaria Bartolini - Roberto Cabras) come usare SQL (1) Le istruzioni SQL possono essere eseguite interattivamente Ese JDBC 2 come

Dettagli

Client e Server comunicano tramite il protocollo SOAP.

Client e Server comunicano tramite il protocollo SOAP. In questo tutorial implementeremo un semplice SOAP web service in PHP che un client Java richiamerà. In questo modo mostreremo l'interoperabilità fra linguaggi diversi che SOAP permette di avere. La struttura

Dettagli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando

Dettagli

Sicurezza Informatica: Tecniche di SQL INJECTION

Sicurezza Informatica: Tecniche di SQL INJECTION Sicurezza Informatica: Tecniche di SQL INJECTION Pietro Bongli Aprile 2004 N.B. L'informazione contenuta in queste pagine è divulgata per scopi puramente didattici e non per ni illegali. Structured Query

Dettagli

Obiettivo dell esercitazione

Obiettivo dell esercitazione Database e Web - Esercitazioni ASP - Andrea Proli proliand@csr.unibo.it Laboratorio di Basi di Dati A.A. 2005/2006 Obiettivo dell esercitazione L obiettivo finale dell esercitazione è quello di creare

Dettagli