Что такое getServletContextLocal() и getServletContextProvider()

В уроках, которые я прочитал, я наткнулся на getServletContext(), но для чего эти 2?
Вот как выглядит линия:

ServletContext sc = getServletContextProvider().getServletContextLocal(); 

Чем это отличается от:

 ServletContext sc = getServletContext();

1 ответ

Ваш ответ относится к классу, который, вероятно, реализует ServletContextProvider интерфейс. Чтобы ответить на этот вопрос правильно, вам необходимо предоставить пакет, в котором ServletContextProvider объявлен или даже более полезен класс или интерфейс, который содержит getServletContextProvider() а также getServletContext() методы (объявленные или абстрактные).

Нам еще проще предоставить ссылку на учебник, на который вы ссылаетесь, или какой-то дополнительный контекст (без каламбура). Единственные ссылки на getServletContextLocal Метод в интернете (после поиска в гугле) есть либо этот вопрос, либо копии этого вопроса.

Если предположить, getServletContextProvider() возвращает ServletContextProvider класс или интерфейс, есть несколько интерфейсов и классов, доступных с этим именем; Я пройдусь по каждому найденному:

  1. Интерфейс org.apache.portals.bridges.common.ServletContextProvider не имеет getServletContextLocal() метод.
  2. Интерфейс http://docs.liferay.com/portal/6.0/javadocs/com/liferay/portal/kernel/servlet/ServletContextProvider.html не имеет getServletContextLocal() Способ; Разработчик указанного интерфейса, LiferayServletContextProvider не имеет getServletContextLocal() метод и расширяет объект.
  3. Класс ca.grimoire.maven.ServletContextProvider не имеет getServletContextLocal() метод, а также ResourceProvider интерфейс, который он реализует, и он расширяет объект.
  4. Интерфейс http://atmosphere.java.net/nonav/apidocs/org/atmosphere/di/ServletContextProvider.html не имеет getServletContextLocal() метод, а также 4 реализующих класса, перечисленных в этой ссылке.
  5. Класс http://docs.atlassian.com/jira/latest/com/atlassian/jira/web/ServletContextProvider.html не имеет getServletContextLocal() метод и расширяет объект.
  6. Абстрактный класс 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 переменная была назначена.

Сделайте себе одолжение и приведите местоположение учебника, на который вы ссылаетесь.

Другие вопросы по тегам