Между перенаправлением и переадресацией есть важная разница: при использовании перенаправления JSP-контейнер будет использовать внутренний метод для вызова целевой страницы, а новая страница продолжит обрабатывать тот же запрос, а браузер не будет знать об этом процессе. Напротив, метод перенаправления означает, что первая страница уведомляет браузер о необходимости отправить запрос новой страницы. Потому что при использовании перенаправления URL-адрес, отображаемый в браузере, станет URL-адресом новой страницы, а при использовании перенаправления URL-адрес останется неизменным. Перенаправления выполняются медленнее, чем перенаправления, поскольку браузеру приходится делать новый запрос. При этом, поскольку метод перенаправления генерирует новый запрос, объект в запросе после перенаправления не будет доступен.
Как выбрать, перенаправить или переслать? Обычно пересылка выполняется быстрее и позволяет сохранить объект в запросе, поэтому это лучший вариант. Однако, поскольку после пересылки URL-адрес в браузере по-прежнему указывает на стартовую страницу, при перезагрузке текущей страницы стартовая страница будет вызвана снова. Если вы не хотите, чтобы это произошло, выберите переадресацию.
Разница между переадресацией и перенаправлением
Не используйте область сеанса только для передачи переменных на следующую страницу. Это без причины увеличит область действия переменной. Пересылка может помочь вам решить эту проблему.
Перенаправление: все переменные, сохраненные в предыдущем запросе, недействительны и входят в новую область запроса.
Пересылка: переменные, сохраненные в предыдущем запросе, не станут недействительными, как если бы вы объединили две страницы.