如何在 Servlet 中不声明其类的对象的情况下调用 getServletContext

发布于 2025-01-19 12:08:14 字数 142 浏览 0 评论 0原文

在 servlet 中,如何在不声明其类的对象的情况下调用 getServletContext? getServletContext 在其声明中没有 static 。考虑一个例子 - ServletContext context=getServletContext();

In servlets, how does getServletContext get called without declaring an object of its class? getServletContext does not have static in its declaration. Consider for an example- ServletContext context=getServletContext();

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

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

发布评论

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

评论(1

中性美 2025-01-26 12:08:14

tl;dr

您编写的 Servlet 从其超类 HttpServlet 继承了 getServletContext 方法,而后者又从其超类 GenericServlet 继承了该方法。

您编写的 servlet 类的对象会由您的 Web 容器(例如 Apache Tomcat)自动实例化, Eclipse Jetty 等。请参阅 Servlet 生命周期

您的 Servlet ➜ HttpServletGenericServlet

代码:

ServletContext context = getServletContext() ;

... 的缩写:

ServletContext context = this.getServletContext() ;

this 是对运行该代码的任何对象的引用。在我们的例子中,该对象是您自己的 servlet。

运行时的 servlet 是您在开发时编写的类的实例,由 Web 容器自动实例化。该类(您编写的类)是 HttpServlet。该超类 HttpServlet 从其超类 GenericServlet

该 GenericServlet 类携带方法 getServletContext。子类 HttpServlet 继承该方法。您自己的类(作为 HttpServlet 的子类)也继承该方法。

我怎么知道这一切?通过阅读 Javadoc。

请参阅 Jakarta Servlet 规范页面

tl;dr

The Servlet you wrote inherits the getServletContext method from its superclass HttpServlet, which in turn inherits the method from its superclassGenericServlet.

An object of the servlet class you write is automatically instantiated by your web container such as Apache Tomcat, Eclipse Jetty, etc. See Servlet Life Cycle in the Servlet specification.

Your Servlet ➜ HttpServletGenericServlet

The code:

ServletContext context = getServletContext() ;

… is short for:

ServletContext context = this.getServletContext() ;

The this is a reference to whatever object is running that code. In our case here, that object is your own servlet.

Your servlet at runtime is an instance of the class you wrote at development time, automatically instantiated by your web container. That class, the class you authored, is a subclass of HttpServlet. That superclass HttpServlet extends from its superclass GenericServlet.

That GenericServlet class carries the method getServletContext. The subclass HttpServlet inherits that method. And so too does your own class, as a subclass of HttpServlet, inherit that method.

How do I know all this? By reading the Javadoc.

See the Jakarta Servlet specification page.

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