Назовите неявные объекты JSP EL и их отличия от объектов JSP
Неявные объекты JSP EL отличаются от неявных объектов JSP по составу и назначению. EL-объекты предоставляют доступ к атрибутам и параметрам через Map-подобный интерфейс, тогда как JSP-объекты — это полноценные Java-объекты.
| EL-объект | Тип | Аналог в JSP |
|---|---|---|
pageContext |
PageContext |
pageContext (единственный общий) |
pageScope |
Map |
Нет прямого аналога |
requestScope |
Map |
request |
sessionScope |
Map |
session |
applicationScope |
Map |
application |
param |
Map |
request.getParameter() |
paramValues |
Map |
request.getParameterValues() |
header |
Map |
request.getHeader() |
headerValues |
Map |
request.getHeaders() |
cookie |
Map |
request.getCookies() |
initParam |
Map |
config.getInitParameter() |
Ключевое отличие: EL-объекты предоставляют данные через Map-интерфейс (${param.name}), что делает код компактным и декларативным. JSP-объекты — полноценные Java-объекты, доступные только в скриплетах.
Единственный общий объект — pageContext, через который в EL можно получить доступ к JSP-объектам: ${pageContext.request}, ${pageContext.session}.
На собеседовании: главное — сказать, что EL-объекты и JSP-объекты — разные наборы. Общий только
pageContext. EL-объекты оптимизированы для декларативного доступа к данным без Java-кода.