Servlet接口
public interface Servlet {
void init(ServletConfig var1) throws ServletException;
ServletConfig getServletConfig();
void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
String getServletInfo();
void destroy();
}
- void init(ServletConfig var1) throws ServletException;该方法为servlet初始化方法。参数是ServletConfig,该方法会在GenericServlet中得到实现。如下:
public void init(ServletConfig config) throws ServletException {
this.config = config;
this.init();
}
public void init() throws ServletException {
}
第一个方法先是将传入的参数赋值给自己的config.然后再调用自己的无参init()方法。这个无参init()方法主要是给下面的实现类进行调用。编程人员调用该方法加入代码后,在有参init(ServletConfig config)方法执行时,该方法也会执行。
2:ServletConfig getServletConfig();该方法用于获得获得当前servlet的ServletConfig。该方法在GenericServlet中得到实现:
public ServletConfig getServletConfig() {
return this.config;
}
返回了GenericServlet当前对象的config,也就是init()带参方法中传入的config.
3: void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;服务方法,在HttpServlet类中得到了实现。
4:String getServletInfo();获取当前servlet的信息;在GenericServlet中得到实现:
public String getServletInfo() {
return "";
}
想要返回什么信息,可以在自己的Servlet中进行重写。返回自己想要的信息。
5: void destroy();销毁方法,销毁该servlet,结束生命周期。
public void destroy() {
}
ServletConfig源码
public interface ServletConfig {
String getServletName();
ServletContext getServletContext();
String getInitParameter(String var1);
Enumeration<String> getInitParameterNames();
}
1:String getServletName();获取当前servlet名称,在GenericServlet中得到实现:
public String getServletName() {
return this.config.getServletName();
}
2: ServletContext getServletContext();获得当前web的Servletcontext对象,在GenericServlet中得到实现:
public ServletContext getServletContext() {
return this.getServletConfig().getServletContext();
}
3: String getInitParameter(String var1);获取对应参数,在GenericServlet中得到实现:
public String getInitParameter(String name) {
return this.getServletConfig().getInitParameter(name);
}
4:与3类似。