Как передать массив из одного сервлета в другой сервлет? - PullRequest
2 голосов
/ 01 декабря 2010

Я хочу передать несколько значений из одного сервлета в другой сервлет. Скажите, пожалуйста, как это пройти?

Ответы [ 3 ]

5 голосов
/ 01 декабря 2010

Вы можете

  • поместить свой массив в контекст запроса в качестве атрибута, используя request.setAttribute()
  • , перенаправить запрос на второй сервлет, используя RequestDispatcher.forward()
  • ваш второй сервлет прочитал значение, используя request.getAttribute()
1 голос
/ 01 декабря 2010

В зависимости от того, используете ли вы сеансы:

  1. Сохраните массив в переменной сеанса с помощью session.setAttribute ();
  2. Извлеките массив с помощью session.getAttribute ();

Однако переменная будет оставаться до тех пор, пока сессия не прекратится, вы перезапишете ее чем-то другим или удалите ее.

Если вы перенаправите один сервлет другому сервлету, вы можете сохранить его вПеременная запроса:

  1. request.setAttribute ()

, которую можно прочитать после пересылки с помощью request.getAttribute () после вызова

RequestDispatcher.forward ()

Обратите внимание, что это не работает, если вы выполняете перенаправление вместо сервлета вперед.

1 голос
/ 01 декабря 2010

Вы можете сохранить массив в сеансе пользователя в сервлете 1 и прочитать его из сервлета 2, получив его из сеанса пользователя.Убедитесь, что вы удалили массив из сеанса в сервлете 2.

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