Sessione in Java Servlet

voti
20

Mi piacerebbe fare il programma servlet per il seguito, creare un servlet denominato com.SessServlet.If si accede al servlet in un nuovo browser, allora per la prima volta dovrebbe visualizzare 'Benvenuto, Newcomer'. Quando si aggiorna lo stesso pagina dovrebbe display'Welcome indietro. si visita la pagina dedicata agli <no of times you have refreshed the page>' .

`package com.SessServlet122;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SessServlet extends HttpServlet
{

public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
{
    res.setContentType(text/html);
    int i;
    PrintWriter pw=res.getWriter();
    HttpSession hs=req.getSession();
    i=0;
    if(hs.isNew())
    {

        pw.println(Hello:::+i);
    }
    else
    {    i++;
        pw.println(Welcome Back:Ur entry count is::::+i);
    }

    pw.close();
}
}`

Ma questo codice non funziona correttamente. Come risolvere questo problema? Grazie in anticipo.

È pubblicato 15/04/2011 alle 08:16
dall'utente
In altre lingue...                            


2 risposte

voti
1

Si dovrebbe archiviare quel contatore come sessionVariable, in questo modo si otterrà il lavoro.
Avete bisogno di questa linea dopo la vostra pw.close();chiamata:

hs.setAttribute("counter", i);

Inoltre, l'inizializzazione del contatore idovrebbe essere simile a questo:

Integer i = (Integer)hs.getAttribute("counter");
if (i == null)
    i = 0;
Risposto il 15/04/2011 a 08:20
fonte dall'utente

voti
1

Suggerimento:

  • Creare una Servlet
  • Dal service()metodo di recuperare sessione e impostare un attributo in sessione se non altro set ans visualizzazione messaggio appropriato
  • Nell'uso jsp JSTL per visualizzare il contatore, per esempio: se impostato l'attributo era HitCount allora sull'uso jsp ${hitCount}
Risposto il 15/04/2011 a 08:21
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more