JSP 如何调用getServletContext而不在Servlet中声明其类的对象

gt0wga4j  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(156)

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

yqyhoc1h

yqyhoc1h1#

tl; d天

您编写的Servlet从其超类HttpServlet继承getServletContext方法,而超类HttpServlet又从其超类GenericServlet继承该方法。
您编写的servlet类的对象由您的web container(如Apache Tomcat、Eclipse Jetty等)自动示例化。请参阅Servlet规范中的 * Servlet生命周期 *。

你的小服务程序

代码:

ServletContext context = getServletContext() ;

...是以下内容的缩写:

ServletContext context = this.getServletContext() ;

this是对运行该代码的任何对象的引用。在我们这里的例子中,该对象是您自己的servlet。
运行时的servlet是您在开发时编写的类的示例,由Web容器自动示例化。您编写的类是HttpServlet的子类。超类HttpServlet从其超类GenericServlet扩展而来。
GenericServlet类携带getServletContext方法,子类HttpServlet继承了该方法,而你自己的类作为HttpServlet的子类也继承了该方法。
我怎么知道这些的?通过阅读Javadoc。
请参阅Jakarta Servlet specification page

相关问题