GenericServlet

来源:互联网 发布:php用户权限管理思路 编辑:程序博客网 时间:2024/05/18 14:28

GenericServlet定义了一个通用的,无关协议的的Servlet。如果要在Web应用中使用Http进行Servlet通信,请扩展HttpServlet(即继承HttpServlet)。

GenericServlet实现了三个接口,分别为:Servlet,ServletConfig,java.io.Serializable,与具体的议无关。

package javax.servlet;import java.io.IOException;import java.io.Serializable;import java.util.Enumeration;public abstract class GenericServlet implements Servlet, ServletConfig,Serializable {private transient ServletConfig config;public void destroy() {}public String getInitParameter(String name) {  //实现了ServletConfig接口的getInitParameterreturn getServletConfig().getInitParameter(name);  //返回变更名为name的value}public Enumeration getInitParameterNames() {  //实现了ServletConfig接口的getInitParameterNamesreturn getServletConfig().getInitParameterNames();//返回一个Eumeration,包括所有的name}public ServletConfig getServletConfig() {return this.config;}public ServletContext getServletContext() {//实现ServletConfig接口的getServletContext方法return getServletConfig().getServletContext();// 返一个ServletContext引用}public String getServletInfo() {//实现Servle接口的getServletInforeturn "";//返回一个字符串,包括Servlet对象的信息}public void init(ServletConfig config) throws ServletException {this.config = config;init();}public void init() throws ServletException {}public void log(String msg) {getServletContext().log(getServletName() + ": " + msg);}public void log(String message, Throwable t) {getServletContext().log(getServletName() + ": " + message, t);}public abstract void service(ServletRequest paramServletRequest,ServletResponse paramServletResponse) throws ServletException,IOException;public String getServletName() {//实现ServletConfig接口的getServletNamereturn this.config.getServletName();}}

  • 其service()方法是个抽象方法,即它把处理请求的任务交给了子类。子类必须实现该方法。
  • 总得来看,它给出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字、配置、初始化参数的方法,
  • 其设计的是和应用层协议无关的,也就是说你有可能用非http协议实现它(其实目前Java Servlet还是只有Http一种)。





0 0