Лучше всего сделать так, чтобы на второй странице была форма со скрытыми полями.
А затем в первой форме она должна была просмотреть запрос на ввод данных.
Итак, вы получите следующее:
GET /jsp1
Показывает начальную форму, пустую.Затем он отправляет сообщение в JSP2
POST /jsp2
fname=Frank&lname=Jones&city=Atlanta
jsp2, затем перенаправляет обратно к себе:
GET /jsp2?fname=Frank&lname=Jones&city=Atlanta
И отображает эти значения.
Если пользователь нажимает НАЗАД, тогдаувидеть их оригинальную работу.Если вы предоставляете им ссылку «Вернуться назад», и это реальная ссылка, она должна быть похожа на JSP2, только вместо этого это JSP1:
GET /jsp1?fname=Frank&lname=Jones&city=Atlanta
Если они решат продолжить, то вы POST к сервлету:
POST /servlet
fname=Frank&lname=Jones&city=Atlanta
На JSP2 у вас есть скрытая форма:
<form action="/servlet" method="POST">
<input type="hidden" name="fname" value="Frank"/>
...
<input type="submit" ... />
</form>
Затем, когда это будет сделано, сервлет перенаправит на любую JSP, которую хочет показать.
По сути, вы хотите, чтобы браузер отображал только то, что он ПОЛУЧАЕТ, а не результаты POST.Если вы когда-нибудь видели, когда нажимаете кнопку «Назад», и вы получаете это диалоговое окно «хотите ли вы повторить этот запрос», это потому, что результаты предыдущей страницы получены из POST, а не из GET.
Вы используете параметры в своих запросах, чтобы помочь перенести состояние вперед.Это исключает информацию из вашего сеанса и позволяет таким вещам, как кнопка «обновить», работать для пользователя должным образом.