我是Java Web开发的新手 在我的书中,我在Servlet类中找到了这段代码。
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,java.io.IOException
{ ...
ServletConfig config = getServletConfig();
...
}
据我所知getServletConfig()
是一种PageContext
类的方法。
并且在上面的代码中没有对象调用该方法。
所以必须(此。)已被省略。
Q1:关键字“this”是指PageContext类的对象吗?
并且从java perspect,这是对封闭对象的引用 class.in情境是Servlet的对象。
Q2:所以PageContext
对象= Servlet对象?
答案 0 :(得分:0)
Q1:No。说明:this
引用当前对象,即运行代码的类的实例。 this
未指向PageContext
类(或更确切地说是PageContext
的对象实例)或任何继承的类。
即使代码中看不到extends
部分,您最有可能扩展HttpServlet
或至少扩展HttpServlet
的另一个类,然后您可以访问所有方法(使用public
中的正确可见性protected
或HttpServlet
}以及HttpServlet
类扩展,包括GenericServlet
,您还可以找到getServletConfig()
方法(正如锆石在他的评论中指出的那样)。 getServletConfig()
方法将为您提供此Servlet的ServletConfig
类的实例。
Q2:不,正如我对Q1的回答中所解释的那样。 getServletConfig()
是GenericServlet
以外的更多类的一部分,包括PageContext
,因此使用getServletConfig()
,您可以获得该页面上下文的ServletConfig
对象,但它并不意味着PageContext
对象与Servlet对象相同。