Sesiunea în servlet java

voturi
20

Aș dori să fac programul pentru servlet mai jos, a crea un servlet numit com.SessServlet.If accesați servlet într - un browser nou , apoi , pentru prima dată ar trebui să afișeze«Bun venit, nou venit». Când actualizați același pagina trebuie display'Welcome Înapoi. dacă vizitați pagina pentru <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();
}
}`

Dar acest cod nu funcționează corect. Cum de a rezolva acest lucru? Mulțumesc anticipat.

Întrebat 15/04/2011 la 08:16
de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

Ar trebui să stoca contra ca sessionVariable, în acest fel vei primi să funcționeze.
Ai nevoie de această linie dvs. după pw.close();apel:

hs.setAttribute("counter", i);

De asemenea, inițializarea contra ta iar trebui să arate astfel:

Integer i = (Integer)hs.getAttribute("counter");
if (i == null)
    i = 0;
Publicat 15/04/2011 la 08:20
sursa de către utilizator

voturi
1

Aluzie:

  • Creați un servlet
  • Din service()metoda de a prelua sesiune și a seta un atribut în sesiune , dacă ei există alt set ans de afișare mesaj adecvat
  • La utilizarea JSTL jsp pentru a afișa contorul, de exemplu: dacă setați atributul a fost hitCount atunci utilizarea jsp ${hitCount}
Publicat 15/04/2011 la 08:21
sursa de către utilizator

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