Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    209

    Problema con sessione alla prima entrata

    Ciao, volevo chiedervi un favore...
    allora io devo effettuare un login attraverso le sessioni.
    attraverso session.getAttribute("username") ricerco se la sessione è aperta:
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <%@ 
    page language="java" contentType="text/html; charset=ISO-8859-1"  pageEncoding="ISO-8859-1"%>
    <%@ 
    page import="java.sql.*" %>
    <%@ 
    page import="java.util.*" %>
    <%@ 
    page import="java.math.BigDecimal" %>
    <%@ 
    taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ 
    taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
    <%@ 
    taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

    <% 
    String user "";
    user = (String)session.getAttribute("username");

    %>

    .....
    CODICE INTERMEZZO......

    <%@ include 
    file="menuSquadra.jsp"%>

    <% if(
    user.equals("")) { %>
    <%@ include 
    file="menu.jsp"%>
    <% } else { %>
    <%@ include 
    file="menuAut.jsp"%>
    <% } %>
    </
    div
    Solo che mi da questo errore:

    org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 37

    34: <div id="menu">
    35: <%@ include file="menuSquadra.jsp"%>
    36:
    37: <% if(user.equals("")) { %>
    38: <%@ include file="menu.jsp"%>
    39: <% } else { %>
    40: <%@ include file="menuAut.jsp"%>
    Non riesco a capire l'errore, anche perchè se commento user.equals la pagina funziona, e poi se li scommento continua a funzionare...
    Grazie per la risposta.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    43
    il tuo problema è che nella session non vi è un oggeto di tipo stringa user.
    Infatti ti dovrebbe lanciare una bella NullPointerException.

  3. #3
    Il problema e' che tenti di castare a string un null.
    Ecco come devi modificare il tuo codice:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"  pageEncoding="ISO-8859-1"%>
    <%@ page import="java.sql.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.math.BigDecimal" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
    
    <%
    String user = "";
    if (session.getAttribute("username") !=null) user = (String)session.getAttribute("username");
    
    %>
    
    .....CODICE INTERMEZZO......
    
    <%@ include file="menuSquadra.jsp"%>
    
    <% if(user.equals("")) { %>
    <%@ include file="menu.jsp"%>
    <% } else { %>
    <%@ include file="menuAut.jsp"%>
    <% } %>
    </div>

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    209
    Ok. grazie mille.
    Va bene risolvere il problema anche con il try/catch? o è poco conveniente?

  5. #5
    Anche se funziona, in questo caso non sarebbe molto corretto. Il Try/Catch serve per la gestione delle eccezioni, ma in questo caso tu stai scrivendo della logica applicativa: il fatto che "user" sia null non e' un'eccezione ma una situazione che si verifica sempre la prima volta, quindi una cosa "normale".

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.