什么是 getServletContextLocal() 和 getServletContextProvider()

发布于 2024-11-15 17:09:44 字数 253 浏览 4 评论 0原文

在我阅读的教程中,我遇到了 getServletContext() 但这两个是做什么用的?
这就是该行的外观:

ServletContext sc = getServletContextProvider().getServletContextLocal(); 

这与以下有何不同:

 ServletContext sc = getServletContext();

In the tutorials I read I came across getServletContext() but what are these 2 for ?
This is how the line looks:

ServletContext sc = getServletContextProvider().getServletContextLocal(); 

How is this different from:

 ServletContext sc = getServletContext();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

此岸叶落 2024-11-22 17:09:44

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

对我们来说更容易的是,提供您引用的教程的链接或一些其他上下文(没有双关语)。互联网上对 getServletContextLocal 方法的唯一引用(Google 搜索后)要么是这个问题,要么是这个问题的副本。

假设 getServletContextProvider() 返回一个 ServletContextProvider 类或接口,有多个具有该名称的接口和类;我将详细介绍我找到的每一个:

  1. Interface org.apache.portals.bridges.common.ServletContextProvider< /a> 没有 getServletContextLocal() 方法。
  2. 接口 com.liferay.portal.kernal。 servlet.ServletContextProvider 没有 getServletContextLocal() 方法;该接口的实现者,LiferayServletContextProvider没有getServletContextLocal()方法,并且扩展了Object。
  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) ,其中 local 变量是扩展 javax.portlet.GenericPortlet 的类。然后,getServletContext(local) 方法将返回与所述变量关联的javax.servlet.ServletContext。它是否与 getServletContext() 返回的 javax.servlet.ServletContext 相同取决于 GenericPortlet 变量的分配位置。

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

Your answer is specific to the class likely implementing a ServletContextProvider interface. In order to answer this properly, you need to provide the package where ServletContextProvider is declared, or even more helpful, the class or interface which contains the getServletContextProvider() and getServletContext() methods (declared or abstract).

Even easier for us, provide a link to the tutorial you reference, or some additional context (no pun intended). The only references to a getServletContextLocal method on the internet (after a Google search) are either this question, or copies of this question.

Assuming getServletContextProvider() returns a ServletContextProvider class or interface, there are several interfaces and classes available with that name; I'll go through each one I found:

  1. Interface org.apache.portals.bridges.common.ServletContextProvider does not have a getServletContextLocal() method.
  2. Interface com.liferay.portal.kernal.servlet.ServletContextProvider doesn't have a getServletContextLocal() method; Implementer of said interface, LiferayServletContextProvider doesn't have the getServletContextLocal() method, and extends Object.
  3. Class ca.grimoire.maven.ServletContextProvider doesn't have a getServletContextLocal() method, nor does the ResourceProvider interface it implements, and it extends Object.
  4. Interface org.atmosphere.di.ServletContextProvider does not have a getServletContextLocal() method, nor do the 4 implementing classes listed on that link.
  5. Class com.atlassian.jira.web.ServletContextProvider not have a getServletContextLocal() method, and extends Object.
  6. Abstract Class org.kaleidofoundry.core.web.ServletContextProvider does not have a getServletContextLocal() method.

Conclusion: What you've typed is likely a typo in the tutorial you read, probably referencing the most common interface available, org.apache.portals.bridges.common.ServletContextProvider, which has a getServletContext(GenericPortlet portlet) method. What the tutorial likely intended to write is getServletContextProvider().getServletContext(local) where the local variable is a class extending javax.portlet.GenericPortlet. The getServletContext(local) method would then return the javax.servlet.ServletContext which was associated with said variable. Whether it is the same javax.servlet.ServletContext as returned by getServletContext() depends on where the GenericPortlet variable was assigned.

Do yourself a favor and cite the location of the tutorial to which you're referring.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文