Как вы сохраняете сеанс кота? - PullRequest
2 голосов
/ 07 мая 2009

У меня есть веб-страница JSP, которая обновляется каждую 1 минуту. при каждом обновлении объект сеанса проверяется на достоверность. Когда веб-сервер tomcat перезапускается, сеанс уходит ... и когда страница обновляется, он говорит "недействительно" У кого-нибудь есть решение моей проблемы?

Ответы [ 2 ]

2 голосов
/ 07 мая 2009

Посмотрите на конфигурацию в вашем конфигурационном файле Tomcat. Документация на http://tomcat.apache.org/tomcat-6.0-doc/config/manager.html Ищите раздел о постоянных менеджерах ...

1 голос
/ 07 мая 2009

Вы должны убедиться, что ВСЕ ваши объекты, которые вы храните в вашем сеансе, являются сериализуемыми. Если один из них не соответствует (или не соответствует требованиям Serializable), вы потеряете сеанс при перезагрузке веб-приложения или перезагрузке tomcat.

EG: для сервлета отлично работает:

public class MainServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
    {
        HttpSession session = request.getSession();
        Date date = (Date) session.getAttribute("date");
        if (date == null) {
                date = new Date();
                session.setAttribute("date", date);
        }
        response.setContentType("text/plain");
        PrintWriter pw = response.getWriter();
        pw.println("New Session? " + session.isNew());
        pw.println("Date : " + date);
        pw.flush();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...