У меня есть веб-сайт, который будет иметь около 15 переменных сеанса для каждого пользователя. Недавно я прочитал статью, в которой говорится, что "переменные сеанса злы и они влияют на производительность приложения". Я был очень разочарован чтением этой статьи, так как не мог найти другого способа, с помощью которого я мог бы получить доступ к переменным на другой странице.
Рассмотрим приведенный ниже сценарий,
У меня есть форум, на котором пользователь нажимает на какой-либо конкретный вопрос, ForumSingleQuesitonController
который хранит вопрос, его ответы, комментарии вопросов и ответов как внутри объекта ArrayList<ForumSingleQuestionBean>
и этот объект хранится мной в сессия.
Теперь я использую resonse.sendRedirect("pages/forum_single_question.jsp");
чтобы перейти на страницу forum_single_question.jsp
, из которой я обращаюсь к переменной сеанса и выдает ее значения. Теперь мой вопрос заключается в том, как я могу выполнить эту процедуру, то есть передать переменную из Controller(Servlet)
в JSP
без использования переменной сеанса.
заранее спасибо
Я бы рекомендовал выполнить forward
с сервлета. Это передаст все параметры запроса в JSP.
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/forum_single_question.jsp");
dispatcher.forward(request,response);
Если вам нужно включить дополнительные атрибуты, установите их перед переходом, используя:
request.setAttribute("attributeName", value);