Что такое getServletContextLocal() и getServletContextProvider()
В уроках, которые я прочитал, я наткнулся на getServletContext(), но для чего эти 2?
Вот как выглядит линия:
ServletContext sc = getServletContextProvider().getServletContextLocal();
Чем это отличается от:
ServletContext sc = getServletContext();
1 ответ
Ваш ответ относится к классу, который, вероятно, реализует ServletContextProvider
интерфейс. Чтобы ответить на этот вопрос правильно, вам необходимо предоставить пакет, в котором ServletContextProvider
объявлен или даже более полезен класс или интерфейс, который содержит getServletContextProvider()
а также getServletContext()
методы (объявленные или абстрактные).
Нам еще проще предоставить ссылку на учебник, на который вы ссылаетесь, или какой-то дополнительный контекст (без каламбура). Единственные ссылки на getServletContextLocal
Метод в интернете (после поиска в гугле) есть либо этот вопрос, либо копии этого вопроса.
Если предположить, getServletContextProvider()
возвращает ServletContextProvider
класс или интерфейс, есть несколько интерфейсов и классов, доступных с этим именем; Я пройдусь по каждому найденному:
- Интерфейс org.apache.portals.bridges.common.ServletContextProvider не имеет
getServletContextLocal()
метод. - Интерфейс http://docs.liferay.com/portal/6.0/javadocs/com/liferay/portal/kernel/servlet/ServletContextProvider.html не имеет
getServletContextLocal()
Способ; Разработчик указанного интерфейса,LiferayServletContextProvider
не имеетgetServletContextLocal()
метод и расширяет объект. - Класс ca.grimoire.maven.ServletContextProvider не имеет
getServletContextLocal()
метод, а такжеResourceProvider
интерфейс, который он реализует, и он расширяет объект. - Интерфейс http://atmosphere.java.net/nonav/apidocs/org/atmosphere/di/ServletContextProvider.html не имеет
getServletContextLocal()
метод, а также 4 реализующих класса, перечисленных в этой ссылке. - Класс http://docs.atlassian.com/jira/latest/com/atlassian/jira/web/ServletContextProvider.html не имеет
getServletContextLocal()
метод и расширяет объект. - Абстрактный класс org.kaleidofoundry.core.web.ServletContextProvider не имеет
getServletContextLocal()
метод.
Вывод: то, что вы ввели, скорее всего, опечатка в прочитанном вами учебнике, вероятно, ссылающаяся на самый распространенный доступный интерфейс, org.apache.portals.bridges.common.ServletContextProvider
, который имеет getServletContext(GenericPortlet portlet)
метод. То, что учебник, вероятно, намеревался написать getServletContextProvider().getServletContext(local)
где local
переменная является расширением класса javax.portlet.GenericPortlet
, getServletContext(local)
метод затем вернет javax.servlet.ServletContext
который был связан с указанной переменной. Будь то же javax.servlet.ServletContext
как возвращено getServletContext()
зависит от того, где GenericPortlet
переменная была назначена.
Сделайте себе одолжение и приведите местоположение учебника, на который вы ссылаетесь.