Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [J2EE] sessione e form

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    97

    [J2EE] sessione e form

    Ho realizzato due pagine jsp. La prima(Login.jsp) prende dei parametri dal'utente e passa alla seconda(salvanomesessione) che mette questi parametri dentro una sessione e poi chiama un servlet. E' possibile fare tutto tramite una sola jsp,inserendo tutto detro Login?
    E come?

    codice:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Login</title>
    </head>
    <body>
    	<form  action=salvanomesessione.jsp method="post">
    		<table>
    			<tr>
    				<td>
    					Username
    				</td>
    				<td>
    					<input type="text" name="username"/>
    				</td>
    			</tr>
    			<tr>
    				<td>
    					Password
    				</td>
    				<td>
    					<input type="password" name="password"/>
    				</td>
    			</tr>
    			<tr>
    				<td>
    					<input type="submit" name="Login" value="Login"/>
    				</td>
    			</tr>
    		</table>
    	</form>
    
    </body>
    </html>
    codice:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <%
    String nomeutente=request.getParameter("username");
    if(nomeutente==null) nomeutente="";
    
    String passwordutente=request.getParameter("password");
    if(passwordutente==null) passwordutente="";
    
    session.setAttribute("nomeutente",nomeutente);
    session.setAttribute("passwordutente",passwordutente);
    %>
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    
    <script language='javascript'>
    function esegui()
    {
    document.forms[0].submit();
    }
    </script>
    
    </head>
    <body onLoad='esegui()'>
    
    <form myform name='invio' action='Manager' method='post'>
    
    Attendi ..
    
    </form>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [J2EE] sessione e form

    Originariamente inviato da _SC_
    E' possibile fare tutto tramite una sola jsp,inserendo tutto detro Login?
    Questo sicuramente. Ma non so quanto possa poi risultarti comodo, dipende da cosa devi fare di preciso. E comunque mettere tra i dati di sessione una "password" non è certo il massimo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    97
    beh è solo un'applicazione didattica.

    Quello che faccio adesso è prendere i parametri con un form in una pagina e poi utilizzare getParameter in un'altra pagina per memorizzarli con setAttribute. Come faccio a farlo?
    Sempre che ci sia un risposta banale e non qualcosa di complicatissimo

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da _SC_
    Quello che faccio adesso è prendere i parametri con un form in una pagina e poi utilizzare getParameter in un'altra pagina per memorizzarli con setAttribute. Come faccio a farlo?
    Tecnicamente basta solo fare in modo che il 'action' faccia riferimento alla pagina sé stessa e poi all'inizio prendi i parametri, se ci sono. Tutto qui, nulla di strano.

    È chiaro che se ti limiti solo a prendere i parametri e metterli nella session ma poi continui con quella pagina JSP, viene rimostrato il form di login .....

    In quest'ottica in genere è meglio fare in modo che l'invio del form venga fatto ad una servlet. La servlet farà i controlli del caso (se fosse una gestione "reale" controllerebbe su un DB) e se le credenziali sono ok allora fa un forward ad una pagina xyz, altrimenti fa un forward alla pagina di login.

    Quindi tenendo presente questo: cosa vuoi fare? Ok, il form viene inviato alla pagina stessa di login. E poi??
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    97
    Originariamente inviato da andbin
    è meglio fare in modo che l'invio del form venga fatto ad una servlet. La servlet farà i controlli del caso (se fosse una gestione "reale" controllerebbe su un DB) e se le credenziali sono ok allora fa un forward ad una pagina xyz, altrimenti fa un forward alla pagina di login.
    In effetti hai ragione. avevo qualche problema ma adesso sto facendo così. Grazie.


    Però adesso ho un problema (che nasce sempre dalla mi scarsa conoscenza di HttpSession).
    Dentro l'applicazione ho delle jsp. Vorrei che ogni volta che carico una di questa pagine ci sia un controllo della sessione. Ora se la navigazione segue il flusso normale non ho problemi,perchè da ogni jsp chiamo un servlet che si occupa lui di controllare la sessione e fare i reindindirizzamenti del caso.
    Per che succede se scrivo direttamente sul browser l'indirizzo?
    Vorrei fare un controllo direttamente nella jsp.

    Ho inserito un campo di controllo nella sessione con session.setAttribute.

    Posso fare il controllo con session.getAttribute.

    Ma se la sessione non c'è? Vado in errore 500.

    che metodi ho per controllare se esiste una sessione? In questo modo potrei fare :
    1)controllo se esiste una sessione
    2)controllo sugli attributi della sessione per capire se sono giusti

    senza andare in errore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.