2011-06-17 2 views
0

Dans les tutoriels que j'ai lus je suis tombé sur getServletContext() mais à quoi servent ces 2?
Voici comment la ligne ressemble:Que sont getServletContextLocal() et getServletContextProvider()

ServletContext sc = getServletContextProvider().getServletContextLocal(); 

Comment est-ce différent de:

ServletContext sc = getServletContext(); 
+0

est-ce à propos des portlets? – Bozho

+0

Je ne sais même pas ce que sont les portlets, je suis juste à la recherche d'un code serveur en java pour comprendre comment cela fonctionne, il utilise des servlets (sorte de débutant) – Kobe

+0

il ressemble à des portlets. – Bozho

Répondre

0

Votre réponse est spécifique à la classe implémentant probablement une interface ServletContextProvider. Afin de répondre correctement, vous devez fournir le paquet où ServletContextProvider est déclaré, ou même plus utile, la classe ou l'interface qui contient les méthodes getServletContextProvider() et getServletContext() (déclarées ou abstraites).

Encore plus facile pour nous, fournissez un lien vers le tutoriel que vous référencez, ou un contexte supplémentaire (sans jeu de mots). Les seules références à une méthode getServletContextLocal sur Internet (après une recherche Google) sont soit cette question, soit des copies de cette question.

En supposant que getServletContextProvider() renvoie une classe ou une interface ServletContextProvider, plusieurs interfaces et classes sont disponibles avec ce nom; Je vais passer par chacun je trouve:

  1. Interface org.apache.portals.bridges.common.ServletContextProvider ne dispose pas d'une méthode getServletContextLocal(). L'interface com.liferay.portal.kernal.servlet.ServletContextProvider ne possède pas de méthode getServletContextLocal(); Implémenteur de cette interface, LiferayServletContextProvider n'a pas la méthode getServletContextLocal() et étend Object.
  2. La classe ca.grimoire.maven.ServletContextProvider n'a pas de méthode getServletContextLocal(), pas plus que l'interface ResourceProvider qu'il implémente, et il étend l'objet.
  3. L'interface org.atmosphere.di.ServletContextProvider ne possède pas de méthode getServletContextLocal(), pas plus que les 4 classes d'implémentation répertoriées sur ce lien.
  4. La classe com.atlassian.jira.web.ServletContextProvider ne possède pas de méthode getServletContextLocal() et étend l'objet. La classe abstraite org.kaleidofoundry.core.web.ServletContextProvider ne possède pas de méthode getServletContextLocal().

Conclusion: Qu'est-ce que vous avez tapé est probablement une faute de frappe dans le tutoriel que vous lisez, référencement probablement l'interface la plus courante disponible, org.apache.portals.bridges.common.ServletContextProvider, qui a une méthode getServletContext(GenericPortlet portlet). Ce que le tutoriel a probablement l'intention d'écrire est getServletContextProvider().getServletContext(local) où la variable local est une classe qui s'étend javax.portlet.GenericPortlet. La méthode getServletContext(local) retournera alors le javax.servlet.ServletContext qui était associé à cette variable. La valeur javax.servlet.ServletContext retournée par getServletContext() dépend de l'endroit où la variable GenericPortlet a été affectée. Faites-vous une faveur et citez l'emplacement du tutoriel auquel vous faites référence.

Questions connexes