首页 > 代码库 > Servlet
Servlet
Servlet是一个容器,在javaweb开发中,tomcat就是一个servlet容器。
生命周期:构造器、init初始化、service被多次调用、destroy销毁。
ServletConfig对象封装了所有的配置信息:获取service初始化参数和多个参数、获取servlet名字、获取ServletContext(他是web的大管家)。
init:自动生成当前的servletconfig,是arg0参数的形式。
service:自动生成当前的request(封装所有与请求有关的信息)和response(封装反馈的信息),以arg0和arg1的形式。
ServletContext(他是web的大管家):获取web的初始化参数、application范围内的属性、attribute等。
当我们写servlet时,实现Servlet接口有点繁琐,所以我们可以预先设计一个抽象类,然后只需要继承该抽象类,实现抽象方法service即可。同时也可以实现config接口。
如下:
package com;
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 的实现类 抽象类 所有的servlet都可以继承该类 以简化开发。
public abstract class MyGeneralServlet implements Servlet,ServletConfig {
ServletConfig servletConfig=null;
public void destroy() {
// TODO Auto-generated method stub
}
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return servletConfig;
}
public String getServletInfo() {
return null;
// TODO Auto-generated method stub
}
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
this.servletConfig=arg0;
}
public abstract void service(ServletRequest arg0, ServletResponse arg1);
//以下是ServletConfig接口的方法
@Override
public String getInitParameter(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Enumeration<String> getInitParameterNames() {
// TODO Auto-generated method stub 这是返回sevlet的init参数 而context获取的是web参数。
return servletConfig.getInitParameterNames();
}
@Override
public ServletContext getServletContext() {
// TODO Auto-generated method stub context是某一个web程序具备的 是web应用的管家
return servletConfig.getServletContext();
//通过获取ServletContext 然后调用ServletContext的getInitParameterNames获取init参数。
}
@Override
public String getServletName() {
// TODO Auto-generated method stub
return servletConfig.getServletName();
}
}
Servlet