Servlet与模板方法

  我们知道在手写Servlet方法时,会继承父类HttpServlet,这样我们创建的类就会继承HttpServlet,我们知道在HttpServlet中有几个很重要的方法,一个是doPost()方法,一个是doGet()方法,还有一个是Service()方法,当我们在调用自己写的MyServlet方法时,系统会默认调用doGet()方法,为什么呢?

 

  这是因为在Service()方法中,如果没有传递doGet()或者doPost()系统会默认调用doGet()方法,这就是我们的模板方法。在我们创建自己的Servlet方法时,Service()方法是不允许被重写的,不然我们的doPost()或者doGet()方法都将失去其存在的意义,这也是模板方法的重要关键之所在。为了防止Service()方法被重写,在HttpServlet类中,Service方法是被声明为final类型的。

 

  在模板这里,我顺便了解了一下什么叫钩子方法,钩子方法就是你定义一个空的方法,但是不去具体实现,如果谁需要就去重写该方法,这样模板方法有助于扩展。钩子方法并不一定只定义一个,可以定义多个,根据实际情况来决定我们的方法调用。

 

  如果你对Servlet与模板方法还不理解,欢迎你到这里来看看:http://www.blogjava.net/menlong999/archive/2008/09/17/229332.html

你可能感兴趣的:(html,.net,servlet)