原视频地址:https://www.bilibili.com/video/BV1vb41187jH?p=31
目前所编写的Servlet类直接实现了javax.servlet.Servlet接口,但是这个接口中有很多方法目前是不需要的,可能只需要编写service方法。直接实现Servlet接口代码丑陋,有必要在中间添加一个适配器,以后所有的Servlet类不再实现Servlet接口,而是去继承适配器类。
适配器除了可以让代码优雅之外,我们可以在适配器中提供大量的方法,子类继承之后,可以在子类中直接使用,方便编程。
GenericServlet是一个适配器,这个适配器是一个Servlet,以后无需直接实现Servlet接口了,去继承这个适配器即可,重写service方法。也可能需要重写无参数的init方法。
1
2
3
4
5
6
7
8
9
10
11
12
13public class HelloServlet extends javax.servlet.GenericServlet {
public void init() {
System.out.println("HelloServlet's init----------------");
}
public void service(ServletRequest request, ServletReponse response) throws ServletException, IOException{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("hello world");
}
}