Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329

    JSP: problemi con le sessioni

    Salve, ho un piccolo problema con le sessioni...
    ho realizzato 2 pagina jsp
    la prima ha un link con un ancora "b.jsp?variabile=Pippo"
    nella SECONDA scrivo:
    Codice PHP:
    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
    <!
    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title>Test2</title>
    </
    head>

    <
    body>

    <%
    String sess = (String)session.getAttribute("nome");
    out.println(sess);

    if(
    request.getParameter("variabile") != ""  && sess==null ){ 
        
    out.printlnrequest.getParameter("variabile")+" - "+sess ); 
        
    session.setAttribute("nome"request.getParameter("variabile") );
    }
    else{ 
    out.println("
    "
    +(String)session.getAttribute("nome") ); }
    %>


    [
    url="test.jsp"]back[/url]

    </
    body>
    </
    html
    e nella PRIMA
    Codice PHP:
    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
    <!
    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title>Test1</title>
    </
    head>

    <
    body>

    <% 
    String str "Pippo"

    String sess = (String)session.getAttribute("nome");
    if( 
    sess == "Fulvio" ){ 
        
    out.println("ok"); 
        
    session.setAttribute("nome""Ciccio");
    }    
    else{ 
    out.println("NO SESSION"); }

    %>



    [
    url="test2.jsp?variabile=<%= str %>"]vai a test2[/url

    </
    body>
    </
    html
    Il problema è nei confronti cosa è sbagliato:
    1) (String)session.getAttribute("nome")!="Pippo"
    2) String sess = (String)session.getAttribute("nome");
    sess!="Pippo";
    3) !sess.equals("Pippo");

    ho sempre degli errori, magari il nome della sessione è diverso da "Pippo" e la pagina la prende come se fosse uguale.

    Grazie.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  2. #2
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Non hai specificato che tipo di errori riscontri.
    Comunque, i controlli di uguaglianza fra stringhe dovrebbero essere fatti utilizzando il metodo equals() piuttosto che con gli operatori di uguaglianza, quindi l'opzione corretta è la numero 3 (a proposito, la 1 e la 2 sono in realtà perfettamente identiche).
    Attento però che se la variabile "sess" fosse null l'applicazione ti genererebbe una NullPointerException, quindi prima di tutto devi verificare che sess != null.

    Ti faccio un ulteriore appunto: attento che "Pippo" non è il nome della sessione, ma è il valore dell'attributo di sessione che si chiama "nome". La sessione ha un ID gestito automaticamente dal servlet container, accessibile in caso di necessità tramite il metodo get apposito (vedi documentazione).

  3. #3
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Lo so che "Pippo" è il valore, infatti ho scritto getAttribute("nome") != "Pippo" ...cmq hai ragione tu, mi sono accorto poco dopo, che devo prima verificare il NULL con != o == e poi la corrispondenza con ".equals()"...è che io facevo "!=null" e mi dava errore.
    Grazie mille ugualmente
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

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.