Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 ITPS - Secondo Anno
 Programmazione per il Web + Lab.
 Java -xml utilizzando il jdom

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
cristian.capannini Inserito il - 25/01/2009 : 09:58:30
Ciao ragazzi sto programmando un sito web in jsp-java-xml di cui ho le basi abbastanza chiare. Ho un problema invece a scrivere nel file xml. In pratica vorrei scrivere nel file xml e aggiornarlo ad ogni registrazione dell'utente.
Supponiamo di avere questa pagina in jsp che ci mostra che la registrazione è avvenuta con successo dopo aver controllato tutti i campi tramite una classe java inclusa come javabean. Ok?
Il codice della pagina successo.jsp è questo:



<jsp:useBean id="formHandler" class="Controlli.Registrazione" scope="request"/>
<html>
    <body>
        <center>
            <table border="3">

                <th colspan=2>
                    <font size=5>REGISTRAZIONE UTENTE AVVENUTA CON SUCCESSO!!!</font><br><br>(IMPORTANTE: SI CONSIGLIA STAMPARE LA COPIA DELLA REGISTRAZIONE!)
                </th>
                <br><br>
                <font size=4>
                    <tr>
                        <td valign=top>
                            <center>
                            <form action="outfile.jsp">
                            <b>Nome: </b><jsp:getProperty name="formHandler" property="firstName"/> <br><br>

                            <b>Cognome: </b><jsp:getProperty name="formHandler" property="lastName"/> <br><br>

                            <b>E-Mail: </b><jsp:getProperty name="formHandler" property="email"/> <br><br>

                            <b>Codice postale: </b><jsp:getProperty name="formHandler" property="zip"/> <br><br>

                            <b>Username: </b><jsp:getProperty name="formHandler" property="userName"/>  <br><br>

                            <b>Password: </b><jsp:getProperty name="formHandler" property="password1"/>  <br><br>

                             <input type="submit" value="Ritorna nella Home">
                             </form>
                            </center>
                        </td>
                    </tr>
                </font>
            </table>
        </center>

        <%

       String nome;
       String cognome;
       String email;

       nome = formHandler.getFirstName();
       cognome = formHandler.getLastName();
       email = formHandler.getEmail();

       out.print("Nome passato: " + nome);
       out.print("Cognome passato: " + cognome);
       out.print("Email passata: " + email);
       

        %>

    </body>
</html>



Ok?
Quello che mi interessa adesso è scrivere nel file xml e quindi di crearlo se inesistente o aggiornarlo se c'è almeno un'elemento e non solo controllare se l'utente si è già iscritto. Ma ora mi interesserebbe scrivere sul file xml.(perchè non ho trovato da nessuna parte 1 ma dico 1 esempio per capire come scrivere sul file, neanche il prof ci ha spiegato come scrivere sul file, così non andiamo bene caro professore).

Dovrei creare un file all'incirca in questo modo:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<Utenti>
   <Record>
     <Nome>Nome</Nome> 
     <Cognome>Cognome</Cognome> 
     <Citta>Citta</Citta> 
     <Provincia>Provincia</Provincia> 
     <Cap>CAP</Cap> 
     <Email>Email</Email> 
     <Notifica>Notifica</Notifica> 
     <Username>Username</Username> 
     <Password>Password</Password> 
  </Record>
</Utenti>

Perchè dopo quando vado a fare il login vado a leggere prima di tutto il file xml caricandolo nella memoria in un'array con solo l'username e password e poi con un ciclo controllare se esiste o no l'utente se esiste lo faccio entrare altrimenti o gli dico vattene o gli di prego registrati!
Non so se mi conviene fare più file xml per ciascun utente che si crea (per avere una miglior secondo me facilità di creare e cercare l'utente in base al nome del file che corrisponde all'username?) oppure aggiornarlo di volta in volta.

Chi mi può dare una mano che sono giorni che faccio tentativi di scrittura perchè ho provato a scrivere sul file xml ma mi risulta non valido secondo il mio procedimento stupido. Scrivi la prima riga la versione di xml ma diciamo non utilizzando il JDOM o DOM. capito?

Grazie
Spero in una futura risposta.
Cordialmente
Cris


Se volete curiosare il mio progettino potete farlo ma non pensate neanche di copiarlo!!


Allegato: User registation form.zip
38,49 KB
3   U L T I M E    R I S P O S T E    (in alto le più recenti)
genius Inserito il - 30/01/2009 : 23:11:28
Access per un sito direi "buttalo nel cesso" :D... cmq a parte questo, penso che il codice possa andare, ti da qualke problema?

Per quanto riguardo le email da java fai come sempre in questi casi:

vai su google -> inserisci "java send email" -> invia -> becca il primo risultato :D
cristian.capannini Inserito il - 28/01/2009 : 15:31:50
Ciao scusami il ritardo ho purtroppo problemi famigliari di cui uno grave.....scusa non riesco proprio a dirlo....comunque
allora si è una scelta forzata progettuale fatta dal professore e non dagli studenti.
L'uso dell'xml ha detto che rende facile la vita! Ma che rende facile, prof! Guardati! Specchiati! Se ci avesse fatto usare il database access sarebbe stato tutto diverso e il sito l'avevo finito entro metà gennaio. Comunque sono riuscito a scrivere sul file in pratica ho fatto così:

Appena tutti i campi sono stati controllati tramite una javabean il sito redirige l'utente in un'altra pagina in cui mostra i dati e consiglia di stampare la registrazione...se sapessi come si fa a far sì che i dati della registrazione vengono inviati tramite mail allora....sarebbe bello ma veniamo al dunque. Nella pagina successo ho inserito del codice java ecco ti faccio vedere come ho fatto:


<%@ page language="java" %>
<%@ page import="java.util.*, java.io.*, org.w3c.dom.*, javax.xml.parsers.*, javax.xml.transform.*,javax.xml.transform.dom.*,javax.xml.transform.stream.*" %>

<jsp:useBean id="dati" class="Controlli.Registrazione" scope="request"/>
<html>
    <body>
        <center>
            <table border="3">

                <th colspan=2>
                    <font size=5>REGISTRAZIONE UTENTE AVVENUTA CON SUCCESSO!!!</font><br><br>(IMPORTANTE: SI CONSIGLIA STAMPARE LA COPIA DELLA REGISTRAZIONE!)
                </th>
                <br><br>
                <font size=4>
                    <tr>
                        <td valign=top>
                            <center>
                                <form action="index.jsp">
                                    <b>Nome: </b><jsp:getProperty name="dati" property="nome"/> <br><br>

                                    <b>Cognome: </b><jsp:getProperty name="dati" property="cognome"/> <br><br>

                                    <b>E-Mail: </b><jsp:getProperty name="dati" property="email"/> <br><br>

                                    <b>Codice postale: </b><jsp:getProperty name="dati" property="cap"/> <br><br>

                                    <b>Username: </b><jsp:getProperty name="dati" property="userName"/>  <br><br>

                                    <b>Password: </b><jsp:getProperty name="dati" property="password1"/>  <br><br>

                                    <input type="submit" value="Ritorna nella Home">
                                </form>
                            </center>
                        </td>
                    </tr>
                </font>
            </table>
        </center>

        <%

        String nome = dati.getnome();
        String cognome = dati.getcognome();
        String cap = dati.getcap();
        String email = dati.getEmail();
        String notifica = dati.getnotifica_mail();
        String username = dati.getUserName();
        String password = dati.getPassword1();

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        Document doc = factory.newDocumentBuilder().parse(new File("Dati/utenti.xml"));

        Element root = doc.getDocumentElement();
        Element person = doc.createElement("Record");

        Element Nodo_nome = doc.createElement("Nome");
        person.appendChild(Nodo_nome);
        Text nome_testo = doc.createTextNode(nome);
        Nodo_nome.appendChild(nome_testo);

        Element Nodo_cognome = doc.createElement("Cognome");
        person.appendChild(Nodo_cognome);
        Text cognome_testo = doc.createTextNode(cognome);
        Nodo_cognome.appendChild(cognome_testo);


        Element Nodo_cap = doc.createElement("Cap");
        person.appendChild(Nodo_cap);
        Text cap_testo = doc.createTextNode(cap);
        Nodo_cap.appendChild(cap_testo);

        Element Nodo_email = doc.createElement("Email");
        person.appendChild(Nodo_email);
        Text email_testo = doc.createTextNode(email);
        Nodo_email.appendChild(email_testo);

        Element Nodo_notifica = doc.createElement("Notifica");
        person.appendChild(Nodo_notifica);
        Text notifica_testo = doc.createTextNode(notifica);
        Nodo_notifica.appendChild(notifica_testo);

        Element Nodo_username = doc.createElement("Username");
        person.appendChild(Nodo_username);
        Text username_testo = doc.createTextNode(username);
        Nodo_username.appendChild(username_testo);


        Element Nodo_password = doc.createElement("Password");
        person.appendChild(Nodo_password);
        Text password_testo = doc.createTextNode(password);
        Nodo_password.appendChild(password_testo);

        Node firstNode = root.getFirstChild();
        root.insertBefore(person, firstNode);

        TransformerFactory factory2 = TransformerFactory.newInstance();
        Transformer transformer2 = factory2.newTransformer();

        transformer2.setOutputProperty(OutputKeys.INDENT, "yes");

        // create string from xml tree
        StringWriter sw = new StringWriter();
        StreamResult result = new StreamResult(sw);
        DOMSource source = new DOMSource(doc);
        transformer2.transform(source, result);
        String xmlString = sw.toString();

        //Scrittura sul file XML
        FileWriter fstream = new FileWriter("Dati/utenti.xml");
        BufferedWriter file = new BufferedWriter(fstream);
        file.write(xmlString);
        file.close();

        %>

    </body>
</html>
genius Inserito il - 27/01/2009 : 08:10:19
innanzitutto una domanda: perchè usi i file xml e non un db? E' una scelta progettuale o è dettata dalla mancata conoscenza dell'uso dei db in java? (è solo curiosità, dato che col db è molto più facile, diretto ed anche prestante)

Detto questo, scrivere un fil xml in java è molto semplice e mi sembra onestamente strano che tu non abbia trovato nulla online. Io ho appena scritto "xml java" in google e questo è il primo risultato: http://www.cafeconleche.org/books/xmljava/chapters/index.html

se non riesci dimmi cosa non capisci che provo ad aiutarti :)

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,1 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000