servlet的是方式有三种,分别是:

1,实现servlt接口  点击查看详情

2,继承GenericServlet类【适配器模式

3,继承HttpServlet类【模板方法设计模式】最常用的方法

这里主要讲后两种实现方式

2,继承GenericServlet类(适配器模式)

适配器(相当于插排)

Generic类已经实现了接口中的所有的方法,我们新定义的Servlet继承自GenericServlet,就不在需要重写servlet的所有的方法,只需要重写自己用到的类

在GenericServlet中只有一个abstract方法就是init(),所以通过这种方法创建servlet是必须重写init()

public class GenericServletDemo extends GenericServlet {

    @Override
    public void service(ServletRequest req, ServletResponse res)
            throws ServletException, IOException {

    }

}

3,继承HttpServlet类

模板方法设计模式:

HttpServlet这个类继承了GenericServlet类,HttpServlet有两个service(),两个service()通过重载实现

第一个是HttpServlet自己定义的,在他重在的service()中,调用了doXXX()

 HttpServletRequest是SevletResquest的子接口

在自定义的继承自HttpServlet的servlet中在补充些人和方法的情况下,当用户访问的时候

服务器会创建一个servlet的阴影指向自定义Servlet的对象:

 

Servlet demo=new GenericServletDemo();

 

当有客户端访问servlet的时候,服务器让他创建的对象去调用service()

demo.service();

由于在自定义的类中并没有创建service方法,就去他的父类中找service()

在HttpServletRequest中:

 

posted on 2018-03-23 18:39  song.yan  阅读(155)  评论(0编辑  收藏  举报