一、 GenericServlet
问题:如果每一次编写一个Servlet程序都得实现jakarta.servlet.Servlet接口,那就得重写其所有方法,那代码就会非常繁琐,代码也会很丑陋。
有什么解决方法吗?
可以重写一个 GenericServlet 来实现Servlet类(自写代码)
package com.zikai.servlet.adapter;
import jakarta.servlet.*;
import java.io.IOException;
public abstract class GenericServlet implements Servlet {
// 自适配的Servlet,自己适配的,官方有一个已经写好的类'GenericServlet'了
ServletConfig config;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.config = servletConfig;
init();
}
// 这个init方法是供子类重写的,建议不要重写上面的init(ServletConfig config) 方法,容易导致config为null值
// 因为web服务器调用的是有参数的init方法
public void init(){
// ...
}
@Override
public ServletConfig getServletConfig() {
return config