Сессия в Java Servlet

голоса
20

Я хотел бы сделать программу сервлета для ниже, создать сервлет с именем com.SessServlet.If вы получаете доступ к сервлету в новом окне браузера , то в первый раз , он должен показывать Добро пожаловать, Newcomer. При обновлении таких же страница должна display'Welcome назад. Вы посещаете страницу для <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();
}
}`

Но этот код не работает должным образом. Как решить эту проблему? Заранее спасибо.

Задан 15/04/2011 в 08:16
пользователем
На других языках...                            


2 ответов

голоса
1

Вы должны хранить этот счетчик в виде sessionVariable, таким образом , вы получите его работу.
Вам нужна эта строка после вашего pw.close();звонка:

hs.setAttribute("counter", i);

Кроме того , инициализация вашего счетчика iдолжна выглядеть следующим образом :

Integer i = (Integer)hs.getAttribute("counter");
if (i == null)
    i = 0;
Ответил 15/04/2011 в 08:20
источник пользователем

голоса
1

Подсказка:

  • Создание сервлета
  • От service()метода получения сеанса и установить атрибут в сессии , если его там еще установить анс дисплей соответствующее сообщение
  • На Jsp использования JSTL для отображения счетчика, например: если установлен атрибут был HitCount затем Jsp использования ${hitCount}
Ответил 15/04/2011 в 08:21
источник пользователем

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