DIGITAL FOLDER
Pesatori Carlo
http://filibusta.crema.unimi.it/~cpesatori/
Tecnologie Utilizzate
•
•
•
•
•
•
•
Jsp (Java Server Pages)
XML
XML-Schema
XSLT
CSS
MySQL
Estensiooni package JDOM
Organizzazione logica
• Presentazione
• Raccolta
• Persistenza
• Denominatore comune Dinamicità
Presentazione
Nella presentazione utilizziamo le tecnologie :
- JSP
- XSLT
- CSS
- HTML
Perché ?
Perché sono strumenti abbastanza intuitivi e free.
Raccolta
Per la raccolta dei dati utilizziamo XML …
Perché ?
Permette una totale portabilità e flessibilità.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<modulo>
<sezione etichetta="Anagrafica">
<campo etichetta="cartella" tipo="textbox" ref_db="cartella">
</campo>
</sezione>
</modulo>
Persistenza Dati
• MySQL 4.x
Perché ?
E’ gratuito e molto potente.
Configurazione : dipende dal S.O.
Risorse
Tomcat 5.x : http://tomcat.apache.org/download-55.cgi
Mysql 4.x : http://dev.mysql.com/downloads/mysql/4.1.html
JDK 1.5.x : http://java.sun.com/j2se/1.5.0/download.jsp
(scaricabile sia NetBeans che jdk)
Connector : http://dev.mysql.com/downloads/connector/
Editor : Contex oppure NetBeans
Problemi di percorso …
I primi problemi possono essere iniziali :
1)Configurazione di base del sistema prima di iniziare …
Soluzione : NetBeans ci aiuta inglobando una versione di
Tomcat e un potente autocompletamento del codice
Quindi prima di mettere mano su configurazioni di tomcat e
altri programmi è consigliato NetBeans.
2)Installazione di base di MySQL :
Soluzione : Per linux usare possibili RPM o pachetti
precompilati, per win non ci sono grossi problemi.
Se non avete confidenza con la console di MySql i tool di
amministrazione di MySql sono molto utili
Altri Problemi …
Problemi lato java …
Serve una conoscenza base di programmazione ad oggetti per non essere
spaesati nella lettura e scrittura del codice, soprattutto iniziare a capire
la filosofia di Tomcat/JSP che vede i siti creati con queste tecnologie
come vere e proprie applicazioni.
Problemi lato SQL …
Serve conoscere un minimo di interrogazioni SQL quali :
SELECT colonna_t1,colonna_t2 FROM nome_t
Oppure
SELECT colonna_t1,colonna_t2 FROM nome_t WHERE
nomecampo=‘valore’
Oppure
CREATE TABLE anagrafica(cartella char(30) primary key not null)
Problemi di connessione
Altro problema riscontrato durante il progetto :
Connessione con il database MySQL …
Esistono infatti vari driver per la connessione ai database
come JODBC (incluso in java).
Utilizzare jar esterni per aumentare la facilità di stesura del
codice come jdom(per la gestione degli XML) e i driver di
MySQL sul sito di MYSQL.
Installazione semplice : basta mettere i jar che vogliamo
aggiungere nella seguente directory :
$JAVA_PATH/jre/lib/ext e verranno automaticamente viste
dal compilatore JVM(java virtual machine)
SVILUPPO
- Introduzione di grafici per analisi statistiche (esistono delle
estensioni di XML per formattare i dati e far generare
automaticamente grafici anche molto complessi)
- Internazionalizzazione del DB e dell’interfaccia (Grazie
all’uso dei CHARSET si può rendere visibile il testo in
vari paesi extra-europei)
- Implementazione di un’ involucro per la sicurezza e per le
trasmissioni (JSP offre una vasta gamma di tutorial e classi
per utilizzare SSL e le login sicure)
- Modellare il programma preesistente creando una sorta di
auto-inizializzatore
Frammenti di codice …
• Gestione dell’XML
• Accesso DB
• Passaggio Parametri fra FORM
XML
try {
xml_file = new File("c://anagrafica.xml");
SAXBuilder builder = new SAXBuilder();
try{
Document doc = builder.build(xml_file);
Element root = doc.getRootElement();
Element sezione = root.getChild("sezione");
List allChildren = sezione.getChildren();
List subChildren;
int size = allChildren.size();
DB
try {
Connection con;
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/melanoma",“usernam
e", “psw");
Statement st=con.createStatement();
System.out.println("carattere merdoso : " + ref_db);
st.executeUpdate("ALTER TABLE " + ref_tab +" ADD COLUMN "+ref_db+"
char(30)");
}
catch(ClassNotFoundException e){
System.out.println("ERRORE CLASS : "+ e);
}
catch (SQLException e){
System.out.println("Impossibile caricare il driver: "+ e);
}
Passaggio Parametri
Page1 HTML/jsp
….
<form name=“p1”
action=“./page2”
method=“POST”>
<input type=“textbox”
name=“nome”
value=“”>
<input type=“submit”
value=“label”>
</form>
….
Page2 JSP
….
//creo var
String val=“”;
//assegno
val =
request.getParameter
(“nome”);
//stampa val
Out.printn(val);
….