Javaweb学习笔记---GenericServlet

来源:互联网 发布:福建网络广播电视台:{ 编辑:程序博客网 时间:2024/05/29 08:38

Javaweb学习笔记—GenericServlet

  • GenericServlet类
    • 继承了Servlet接口,增添了新的方法(加粗即接口方法)
      • public void destroy()
      • public String getInitParameter(String name)
      • public Enumeration<String> getInitParameterNames()
      • public ServletConfig getServletConfig()
      • public ServletContext getServletContext()
      • public String getServletInfo()
      • public void init(ServletConfig config) throws ServletException
      • public void init() throws ServletException
      • public void log(String msg)
      • public void log(String msg)
      • public abstract void service(ServletRequest req,ServletResponse res) throws ServletException, IOException
      • public String getServletName()
    • 仿写GenericServlet
package webDemo.servlet;import java.io.IOException;import javax.ejb.Init;import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;/** * 模拟GenericServlet * @author Administrator * */public class Servlet2 implements Servlet {    private ServletConfig servletConfig;    /*不常用的方法,需要则写,不需要不写*/    @Override    public void destroy() {        // TODO Auto-generated method stub        System.out.println("I'm destroying......");    }    /*     * 这个方法一定会在 init之后被调用     * init()被调用后,本类的成员this.config已经有值了     */    @Override    public ServletConfig getServletConfig() {        // TODO Auto-generated method stub        return this.servletConfig;    }    /*不常用的方法,需要则写,不需要不写*/    @Override    public String getServletInfo() {        // TODO Auto-generated method stub        return "I'm a happy servlet~!";    }    /*     * 由服务器调用,并且至调用一次     * 是这些方法中第一个被调用的,会在构造器之后马上被调用!     */    @Override    public void init(ServletConfig servletConfig) throws ServletException {        //把服务器传递的Servletconfig赋值给本类的一个成员,其实就是将数据保存起来,方便其他方法调用;        this.servletConfig = servletConfig;        init();    }    /*     * 这个方法是自己定义的,不是Servlet接口中的方法     * 增加此方法的原因:另一个类继承本类的时候,如果重写初始化方法,会将this.servletConfig = servletConfig丢掉,导致错误     * 增加此方法后,如果想在初始化的时候做一些操作,直接重写此方法,并在初始化方法中调用此方法即可,避免了错误     */    public void init(){    }    /*     * 每次处理请求都会被调用     */    @Override    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {        // TODO Auto-generated method stub        System.out.println("service.....");    }    public ServletContext getServletContext(){        return servletConfig.getServletContext();    }    public String getServletName(){        return servletConfig.getServletName();    }    public String getInitParameter(String name){        return servletConfig.getInitParameter(name);    }}
/*继承仿写GenericServlet类*/package webDemo.servlet;import java.io.IOException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class Servlet3 extends Servlet2 {    @Override    public void init() {        System.out.println("I'm so happy~~~");    }    @Override    public void service(ServletRequest servletRequest, ServletResponse servletResponse)            throws ServletException, IOException {        String vlaue = super.getInitParameter("p1");    }   }
原创粉丝点击