1) В чем разница между этими скриптлетами на странице JSP?
<% request.getSession().setAttribute("myAttrName", "session_MyText"); %>
<!-- besides that getSessionContext() is deprecated! -->
<!-- Already missing in Tomcat9 servlet-api.jar -->
<% request.getSession().getSessionContext().setAttribute("myAttrName", "session_MyText"); %>
<% request.getSession().getServletContext().setAttribute("myAttrName", "session_MyText"); %>
2) Какую из них я предпочитаю - первую (request.getSession().setAttribute()
)?
2.1) Почему?Третья ошибка?
3) Почему второй не рекомендуется ( API не ясно по этому вопросу)?
PS Я знаю, что скриптлеты не рекомендуются в пользу JSTL / пользовательских тегов + EL(и не-JSP подходы), но просим ради ясности.
ССЫЛКА: request.setAttribute() vs request.getSession().setAttribute()
здесь здесь - первый - это requestScope, а второй - sessionScope (по EL: ${requestScope.attrName}
против ${sessionScope.attrName}