Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    5

    [Java] Sessioni tra servlet e jsp

    ciao a tutti,
    allora ho un problema tra servlet e jsp, quando inserisco un oggetto nella sessione attraverso il servlet non e'poi disponibile via jsp, almeno da quello che ho capito.
    Qualcuno sa come mai? o quale potrebbe essere la causa?
    vi posto il codice:

    index.html
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//IT" "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
     <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <title>VmWare Esxi web client</title>
      <link rel="stylesheet" type="text/css" href="./stile/defaultStile.css"/>
     </head>
     <body lang="it">
      <center>
       <h2>Inserire username e password</h2>
      </center>
      <div style="text-align:center">
       <form name="Login" action="SimpleClient" method="POST">
        Username: <input name="user" type="text" />
    
        Password: <input name="pass" type="password" />
    
        <input id="Submit" type="submit" value="Login" />
       </form>
      </div>
     </body>
    </html>
    SimpleClient.java
    codice:
    import javax.servlet.http.*;
    import javax.servlet.*;
    import java.io.IOException;
    
    public class SimpleClient extends HttpServlet
    {
    	/* metodo per rispondere alla post*/
    	public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    	{
    		String user = request.getParameter("user");//prelevo user
    		String pass = request.getParameter("pass");//prelevo pass
    		String jspPage = "";//inizializzo vuota che poi riempiro a seconda della pagina che carico
    		
    		//inizializzo la sessione		
    		HttpSession session = request.getSession();
    		session.setAttribute("user", user);
    
    		//a seconda dei risultati di login indirizzo alla pagina giusta
    		if(user.equals("pippo"))
    		{
    			jspPage = "mainpage.jsp";
    		}
    		else
    		{
    			jspPage = "index.jsp";
    		}
    		request.getRequestDispatcher(jspPage).forward(request,response);
    	}
    }
    mainpage.jsp
    codice:
    <html>
     <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <title>VmWare Esxi web client</title>
      <link rel="stylesheet" type="text/css" href="./stile/defaultStile.css"/>
     </head>
     <body>
      <div style="text-align:center">
       Benvenuto <%=session.getAttribute("user")%>
      </div>
     </body>
    </html>

  2. #2
    Ciao, il codice mi sembra corretto ed è identico a programmi simili che ho fatto io. L'unica cosa che non ho mai fatto, è l'inoltro della richiesta.

    Detto ciò, io per prendere un attributo della sessione, uso il seguente codice:

    codice:
    <div style="text-align:center">
       Benvenuto <% out.write(session.getAttribute("user")); %>
    </div>
    Fammi sapere se funziona...
    Grazie
    Find me on www.nerthase.com

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    5
    mi da unable to compile class for jsp
    The method write(int) in the type Writer is no applicable for the arguments

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Cambia in
    codice:
    out.print( session.getAttribute("user") );
    PS: forse è il caso che cominci ad utilizzare JSTL... ti semplifica la vita:

    codice:
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <html>
     <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <title>VmWare Esxi web client</title>
      <link rel="stylesheet" type="text/css" href="./stile/defaultStile.css"/>
     </head>
     <body>
      <div style="text-align:center">
       Benvenuto ${user}
      </div>
     </body>
    </html>
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    5
    mi sa che non avevo ricaricato il file dopo averlo modificato, perche' ora funziona

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.