request.getSession (). setAttribute () против request.getSession (). getServletContext (). setAttribute () внутри JSP - PullRequest
0 голосов
/ 16 июня 2019

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}

...