在servlet中。是否存在由关键字“this”引用的默认PageContext对象

时间:2016-09-08 18:23:18

标签: java servlets

我是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对象?

1 个答案:

答案 0 :(得分:0)

Q1:No。说明:this引用当前对象,即运行代码的类的实例。 this未指向PageContext类(或更确切地说是PageContext的对象实例)或任何继承的类。

即使代码中看不到extends部分,您最有可能扩展HttpServlet或至少扩展HttpServlet的另一个类,然后您可以访问所有方法(使用public中的正确可见性protectedHttpServlet}以及HttpServlet类扩展,包括GenericServlet,您还可以找到getServletConfig()方法(正如锆石在他的评论中指出的那样)。 getServletConfig()方法将为您提供此Servlet的ServletConfig类的实例。

Q2:不,正如我对Q1的回答中所解释的那样。 getServletConfig()GenericServlet以外的更多类的一部分,包括PageContext,因此使用getServletConfig(),您可以获得该页面上下文的ServletConfig对象,但它并不意味着PageContext对象与Servlet对象相同。