У меня проблема с обработкой сеансов между сервлетом Java, страницей jsp и действием Struts. Java-сервлет добавляет некоторый параметр в сеанс, когда запрашивает запрос, и sendRedirect на какой-то page1.jsp. На странице 1 У меня есть URL-адрес Struts Action, такого как strutsAction.do. Когда запрос StrutsAction получает, сеанс не содержит атрибутов, которые я добавил в Java-сервлет. Нажав на страницу, возвращенную этим действием, не обновляет сеанс Java Servlet, но у них есть тот же SessionId. Итак, после session.getMaxInactiveInterval()
сеанса сеанса сервлетов я получаю событие sessionDestroyed()
, даже когда я делаю действия на странице, возвращенной StrutsAction. Как исправить эту проблему?Обновление сеанса другого сервлета
0
A
ответ
0
В случае SendRedirect называют старый запрос и объект ответа теряется, поскольку он рассматривается как новый запрос,
Вы должны попробовать следующий код
RequestDispatcher rd = servletContext.getRequestDispatcher("/pathToResource");
rd.forward(request, response);
becuase когда вперед вызывается requestdispather объекта мы переходим объект запроса и ответа, поэтому наш старый объект запроса присутствует на новом ресурсе, который будет обрабатывать наш запрос.