Servlet-----GenericServlet的用法和原理

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();
}

}

 

 

posted @ 2018-10-16 19:28  _SmartTiger  阅读(662)  评论(0编辑  收藏  举报