Sesja w Java Servlet

głosy
20

Chciałbym zrobić program dla serwletów poniżej stworzyć serwlet o nazwie com.SessServlet.If uzyskiwania dostępu do serwletu w nowej przeglądarce następnie po raz pierwszy należy go wyświetlić«Witamy, Newcomer». Po odświeżeniu samo strona powinna display'Welcome Back. odwiedzasz stronę dla <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();
}
}`

Ale ten kod nie działa prawidłowo. Jak rozwiązać ten problem? Z góry dziękuję.

Utwórz 15/04/2011 o 08:16
użytkownik
W innych językach...                            


2 odpowiedzi

głosy
1

Należy przechowywać ten licznik w postaci sessionVariable, w ten sposób będzie można dostać to działa.
Trzeba tę linię po swojej pw.close();rozmowy:

hs.setAttribute("counter", i);

Również inicjalizacji Twojego licznika ipowinien wyglądać następująco:

Integer i = (Integer)hs.getAttribute("counter");
if (i == null)
    i = 0;
Odpowiedział 15/04/2011 o 08:20
źródło użytkownik

głosy
1

Wskazówka:

  • Tworzenie Servlet
  • Od service()sposobu pobierania sesję i ustawić atrybut w sesji, jeżeli jej tam jeszcze ustawić ans wyświetlania odpowiedni komunikat
  • Na jsp użytku JSTL aby wyświetlić licznik, na przykład: jeśli ustawiony atrybut był hitcount następnie na jsp użytku ${hitCount}
Odpowiedział 15/04/2011 o 08:21
źródło użytkownik

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