全国咨询/投诉热线:400-618-9090

首页技术文章正文

Java培训之GenericServlet类(一)

更新时间:2017-05-31 来源:黑马程序员Java培训学院 浏览量:

1.GenericServlet原理分析

GenericServlet类是一个抽象类,并且是Servlet接口的实现类,HttpServlet类的父类,下面我们通过一张图来更直观的了解GenericServlet的类结构,如图1-1所示:
1553762046290_1496215450588012508.png通过图1-1发现,GenericServlet类不仅实现了Servlet接口,还实现了ServletConfig接口。因此,在GenericServlet类中一定包含Servlet接口和ServletConfig接口的所有方法.。接下来,我们创建一个类来模拟GenericServlet的功能,详情请参考GenericServlet案例详解,点击此处 下载源代码。
(1)创建应用Example11,新建一个类MyServlet,该类实现了Servlet接口,具体代码如例1-1所示:
例1-1 MyServlet.java
public class MyServlet implements Servlet {
    /*
     * 成员变量config
     * */
     private ServletConfig config;
     public void init(){}
    @Override
    public void destroy() {
       System.out.println("destroy run......");
    }
    /*
     *  返回config,该方法一定在init方法之后执行
     * */
    @Override
    public ServletConfig getServletConfig() {
       return config;
    }
    @Override
    public String getServletInfo() {
       return "MyServlet....";
    }
/*
 * init()方法是这些方法中,最先被调用的,在本类构造方法执行后执行.
 * */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        /*
         * 将服务器创建的servletConfig对象赋值给本类的成员变量config,方便在其他方法中使用
         * */
       this.config=servletConfig;
           init();
    }
    @Override
    public void service(ServletRequest arg0, ServletResponse arg1)
           throws ServletException, IOException {
       System.out.println("service run ......");     
    }
    /*
     * 获得Servlet的初始化参数
     * */
    public String getInitParameter(String name){
       return this.config.getInitParameter(name);
    }
    /*
     * 获得ServletContext对象
     * */
    public ServletContext getServletContext(){
       return this.config.getServletContext();
    }
    public String getServletName(){
       return this.config.getServletName();
    }
}

本文版权归黑马程序员Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员Java培训学院
首发:http://javaee.itheima.com/

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

pythonAI

在线咨询 我要报名