0

在我阅读的教程中,我遇到了 getServletContext() 但这两个是什么?
这就是这条线的样子:

ServletContext sc = getServletContextProvider().getServletContextLocal(); 

这与以下有何不同:

 ServletContext sc = getServletContext();
4

1 回答 1

0

您的答案特定于可能实现ServletContextProvider接口的类。为了正确回答这个问题,您需要提供ServletContextProvider声明的包,甚至更有用的是包含getServletContextProvider()getServletContext()方法(声明或抽象)的类或接口。

对我们来说更容易的是,提供指向您参考的教程的链接,或一些额外的上下文(不是双关语)。互联网上唯一引用的getServletContextLocal方法(在谷歌搜索之后)是这个问题,或者这个问题的副本。

假设getServletContextProvider()返回一个ServletContextProvider类或接口,有几个可用该名称的接口和类;我将逐一介绍我找到的:

  1. 接口org.apache.portals.bridges.common.ServletContextProvider没有getServletContextLocal()方法。
  2. 接口com.liferay.portal.kernal.servlet.ServletContextProvider没有getServletContextLocal()方法;所述接口的实现者,LiferayServletContextProvider没有getServletContextLocal()方法,并且扩展了对象。
  3. ca.grimoire.maven.ServletContextProvider类没有getServletContextLocal()方法,ResourceProvider它实现的接口也没有,它扩展了 Object。
  4. 接口org.atmosphere.di.ServletContextProvider没有getServletContextLocal()方法,该链接上列出的 4 个实现类也没有。
  5. com.atlassian.jira.web.ServletContextProvider类没有getServletContextLocal()方法,并且扩展了 Object。
  6. 抽象类org.kaleidofoundry.core.web.ServletContextProvider没有getServletContextLocal()方法。

结论:您输入的内容可能是您阅读的教程中的拼写错误,可能引用了最常见的可用接口org.apache.portals.bridges.common.ServletContextProvider,它有一个getServletContext(GenericPortlet portlet)方法。本教程可能打算写的是变量是扩展类的getServletContextProvider().getServletContext(local)地方。然后该方法将返回与所述变量相关联的变量。它是否与返回的相同取决于变量的分配位置。localjavax.portlet.GenericPortletgetServletContext(local)javax.servlet.ServletContextjavax.servlet.ServletContextgetServletContext()GenericPortlet

帮自己一个忙,并引用您所指的教程的位置。

于 2013-02-22T19:42:34.480 回答