1、适配器模式改造Servlet
就是重写一个类来简化Servlet实现类中的抽象方法。然后Servlet实现类继承刚刚写的那个类。如下所示:
//构造适配器
import javax.servlet.*;
import java.io.IOException;
public abstract class GenericServlet implements Servlet {
private ServletConfig servletConfig;
//添加final关键字,以防止子类对Init方法进行重写,重写后可能导致servletConfig为空,从而我们可以添加final关键字
@Override
public final void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
this.init();
}
//为了让子类可以重写Init方法,我们可以添加如下的方法,然后在上面的Init方法中调用此方法,然后子类如果想要重写Init方法,就重写下面的方法
public void init() {
}
@Override
public ServletConfig getServletConfig() {
return servletConfig;
}
//主要使用的方法
@Override
public abstract void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException;
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
//实现Servlet的类继承上面的适配器
import javax.servlet.*;
import java.io.IOException;
public class TestServlet extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//书写Java代码
}
}
2、ServletConfig
2.1、ServletConfig是Servlet规范中的一员,是一个接口,并且Tomcat服务器会实现此接口。
2.2、一个Servlet对象中有一个ServletConfig对象。(Servlet和ServletConfig对象是一对一的关系)。
2.3、ServletConfig对象是谁创建的?在什么时候创建的?
①、Tomcat服务器WEB服务器)创建了ServletConfig对象。 ②、在创建Servlet对象的时候,同时创建了ServletConfig对象。
2.4、ServletConfig对象中包装的内容为web.xml中配置的信息!!!