Я делаю простой форум с серией Servlets
, каждый из которых представляет домашнюю страницу, тему, посылку, страницу входа и списка пользователей. На некоторых из этих страниц есть ссылка, которая появляется, когда пользователь не вошел в систему.
То, что я хотел бы достичь, - вызвать перенаправление (используя forward() на RequestDispatcher) после входа в систему, чтобы браузер вернулся к странице, на которой был пользователь, прежде чем щелкнуть ссылку для входа. Для этого я вижу два решения.
Первое решение - иметь HTML Form
с кнопкой входа и невидимым полем, которое будет содержать информацию, которая скажет, какую страницу перенаправить как Parameter
. Это выполнимо, но я хотел бы попробовать что-то еще.
Второе решение - добавить Attribute
в session
, который каким-то образом представляет первую "страницу". Это может содержать строку, но это ничем не отличается от первого подхода. Другим поворотным моментом было бы добавить ссылку на HttpServlet и использовать instanceof или статическую переменную String, которая может быть использована для идентификации сервлета каким-то образом. Однако для этого потребуется создать общий класс предков для всех Servlets
.
Возможно, есть еще одно простое решение, которое вы можете увидеть, что будет хорошим компромиссом? Или, может быть, одно из вышеуказанных решений вполне приемлемо?