如何在不必实现接口方法的情况下使用它们?

时间:2015-04-06 10:49:38

标签: java http servlets interface

这是一个基本的Java接口问题,但是在servlet的上下文中。

我理解接口是完全抽象的,因为它们的方法都不能具有与抽象类不同的实现。 HttpServletRequest是一个接口。在创建servlet时,doPost()和doGet()方法将此接口与代码一起使用:

doPost(HttpServletRequest request, HttpServletResponse response){ // implementation }

我的问题是:

  • 请求和回复是什么?它们是对象吗?
  • 鉴于接口方法没有实现,并且我们通常不需要在创建servlet时实现接口的方法,如何在代码中看到'request'的方法实现。

    request.getParameter()
    

2 个答案:

答案 0 :(得分:2)

  

请求和回复是什么?它们是对象吗?

它们只是引用,指向某些对象,就像任何其他引用一样。这里没什么特别的。

  

如何在代码中看到“请求”的实现方法。

HttpServletRequest只是一个API,其实现由您正在使用的servlet容器(可能是tomcat)提供。在内部,对于每个请求,容器都会创建HttpServletRequestHttpServletResponse实现的对象,并将其传递给您的doPostdoGet方法。

答案 1 :(得分:1)

您获得了实际实现HttpServletRequest的类的对象的引用。

现在你如何获得该对象,web服务器初始化这些对象并通过将这些引用作为参数传递来调用doGetdoPost方法。