1,GenericServlet是实现了Servlet接口和ServletConfig接口的实现类,是一个抽象类,里面的service方法为抽象方法。
2,如果新建的Servlet程序直接继承GenericServlet,只需要重写servlet方法即可,会使开发更简单简洁。
3,模拟GenericServlet的实现:
package servlet; import java.io.IOException; import java.util.Enumeration; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * 自定义的一个Servlet接口的实现类:让任何开发的Serclet都继承该类,以简化操作。 * * @author SmartTiger * @created 2018年10月16日 下午6:38:46 */ public abstract class MyGenericServlet implements Servlet, ServletConfig { // 定义一个ServletConfig类型的私有成员变量 private ServletConfig servletonfig; /** * 继承Servlet接口实现的方法 */ @Override public void destroy() { } @Override public ServletConfig getServletConfig() { return servletonfig; } @Override public String getServletInfo() { return null; } /* * 初始化成员变量 * * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) */ @Override public void init(ServletConfig servletConfig) throws ServletException { this.servletonfig = servletConfig; } @Override public abstract void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException; /* * 继承ServletConfig接口实现的方法 * * @see javax.servlet.ServletConfig#getInitParameter(java.lang.String) */ @Override public String getInitParameter(String arg0) { return servletonfig.getInitParameter(arg0); } @Override public Enumeration<String> getInitParameterNames() { return servletonfig.getInitParameterNames(); } @Override public ServletContext getServletContext() { return servletonfig.getServletContext(); } @Override public String getServletName() { return servletonfig.getServletName(); } }