在servlet中,如何在不声明其类的对象的情况下调用getServletContext?getServletContext在其声明中没有static。考虑一个示例- ServletContext context=getServletContext();
yqyhoc1h1#
您编写的Servlet从其超类HttpServlet继承getServletContext方法,而超类HttpServlet又从其超类GenericServlet继承该方法。您编写的servlet类的对象由您的web container(如Apache Tomcat、Eclipse Jetty等)自动示例化。请参阅Servlet规范中的 * Servlet生命周期 *。
HttpServlet
getServletContext
GenericServlet
代码:
ServletContext context = getServletContext() ;
...是以下内容的缩写:
ServletContext context = this.getServletContext() ;
this是对运行该代码的任何对象的引用。在我们这里的例子中,该对象是您自己的servlet。运行时的servlet是您在开发时编写的类的示例,由Web容器自动示例化。您编写的类是HttpServlet的子类。超类HttpServlet从其超类GenericServlet扩展而来。GenericServlet类携带getServletContext方法,子类HttpServlet继承了该方法,而你自己的类作为HttpServlet的子类也继承了该方法。我怎么知道这些的?通过阅读Javadoc。请参阅Jakarta Servlet specification page。
this
1条答案
按热度按时间yqyhoc1h1#
tl; d天
您编写的Servlet从其超类
HttpServlet
继承getServletContext
方法,而超类HttpServlet
又从其超类GenericServlet
继承该方法。您编写的servlet类的对象由您的web container(如Apache Tomcat、Eclipse Jetty等)自动示例化。请参阅Servlet规范中的 * Servlet生命周期 *。
你的小服务程序
代码:
...是以下内容的缩写:
this
是对运行该代码的任何对象的引用。在我们这里的例子中,该对象是您自己的servlet。运行时的servlet是您在开发时编写的类的示例,由Web容器自动示例化。您编写的类是
HttpServlet
的子类。超类HttpServlet
从其超类GenericServlet
扩展而来。GenericServlet
类携带getServletContext
方法,子类HttpServlet
继承了该方法,而你自己的类作为HttpServlet
的子类也继承了该方法。我怎么知道这些的?通过阅读Javadoc。
请参阅Jakarta Servlet specification page。