为什么HttpServlet类是抽象的?

时间:2014-02-21 17:31:30

标签: java servlets

我很困惑。为什么HttpServlet类是抽象的? bean和pojo之间的基本区别是什么?

3 个答案:

答案 0 :(得分:2)

HttpServlet是抽象的,因为没有业务方法的具体实现它是完全无用的。 javadoc说:

  

提供要创建HTTP servlet的子类的抽象类   适合网站。 HttpServlet的子类必须覆盖at   至少一种方法,通常是其中之一:

     
      
  • doGet,如果servlet支持HTTP GET请求
  •   
  • doPost,用于HTTP POST请求
  •   
  • doPut,用于HTTP PUT请求
  •   
  • doDelete for HTTP DELETE requests
  •   
  • 初始化和销毁​​,以管理为servlet生命周期而持有的资源
  •   
  • getServletInfo,servlet用来提供有关自身的信息
  •   

Bean和Pojo是通常引用的简单java类,它们不实现接口或从外部库/框架扩展类。

答案 1 :(得分:1)

为什么HttpServlet 不是是抽象的? HttpServlet的实例将毫无用处 - servlet的重点是能够为请求提供有用的响应,HttpServlet无法做到这一点。在可能的情况下防止无用的情况通常是一个好主意。

作为类似事物的另一个例子,请考虑MouseAdapter。尽管没有抽象方法,但这是抽象的,因为在你重写至少一个方法之前它是无用的。

答案 2 :(得分:1)

检查API

  

提供要创建HTTP servlet的子类的抽象类   适合网站。 HttpServlet的子类必须覆盖at   至少一种方法,通常是其中之一:

     
      
  • doGet,如果servlet支持HTTP GET请求
  •   
  • doPost,用于HTTP POST请求
  •   
  • doPut,用于HTTP PUT请求
  •   
  • doDelete,用于HTTP DELETE请求
  •   
  • 初始化和销毁​​,以管理为servlet生命周期而持有的资源
  •   
  • getServletInfo,servlet用来提供有关自身的信息
  •   

HttpServlet本身没有有用的功能。