看代码
3.2 MyEclipse完成看代码
4 Servlet的生命周期 4.1 生命周期相关方法l Servlet接口中一共是5个方法,其中有三个是生命周期方法。
Ø void init(ServletConfig):这个方法会在Servlet被创建后,马上被调用。只会被调用一次!我们可以把一些初始化工作放到这个方法中,如果没有什么初始化工作要做,那么这个方法就空着就可以了。
² Servlet有两个时间点会被创建:一是在第一次被请求时,会被创建;二是Tomcat启动时被创建,默认是第一种,如果希望在tomcat启动时创建,这需要在web.xml中配置。
Ø void destroy():这个方法会在Servlet被销毁之前被调用。如果你有一些需要释放的资源,可以在这个方法中完成,如果没有那么就让这个方法空着。这个方法也只会被调用一次!
² Servlet轻易不会被销毁,通常会在Tomcat关闭时会被销毁。
Ø void service(ServletRequest,ServletResponse):它会在每次被请求时调用!这个方法会被调用0~N次。
Ø String getServletInfo():它不是生命周期方法,也就是说它不会被tomcat调用。它可以由我们自己来调用,但我们一般也不调用它!你可以返回一个对当前Servlet的说明性字符串。
Ø ServletConfig getServletConfig():这个方法返回的是ServletConfig,这个类型与init()方法的参数类型相同。它对应的是web.xml中的配置信息,即<servlet>
4.2 ServletConfig、ServletContext、ServletRequest、ServletResponsel ServletRequest:封装了请求信息;
l ServletResposne:用于向客户端响应;
l ServletContext:它可以在多个Servlet中共享数据。
l ServletConfig:它与<servlet>对应!
Ø 在<servlet>中可以配置<init-param>,即初始化参数,可以使用ServletConfig的getInitParameter(String),方法的参数是初始化参数名,方法的返回值是初始化参数值。
Ø getInitParameterNames(),该方法返回一个Enumeration对象,即返回所有初始化参数的名称。
Ø String getServletName(),它返回的是<servlet-name>元素的值
Ø ServletContext getServletContext(),它可以获取Servlet上下文对象。
5 GenericServletl 它代理了ServletConfig的所有功能。所有使用ServletConfig才能调用的方法,都可以使用GenericServlet的同名方法来完成!
l 不能覆盖父类的init(ServltConfig)方法,因为在父类中该方法内完成了this.config=config,其他的所有ServletConfig的代理方法都使用this.config来完成的。一旦覆盖,那么this.config就是null。
l 如果我们需要做初始化工作,那么可以去覆盖GenericServlet提供的init()方法。
6 HttpServlet