传智播客Servlet学习,ServletConfig接口和GenericServlet类

来源:互联网 发布:学单片机有什么用 编辑:程序博客网 时间:2024/05/13 11:56

    为Servlet的学习学了这么多准备知识,今天看的这集,张老师讲了ServletConfig接口,初步接触Servlet编程。张老师举例了ServletConfig对象的应用的例子,代码敲了一遍,学习ServletConfig对象的使用。
ServletConfig接口
  servlet在有些情况下可能需要访问Servlet容器或借助Servlet容器访问外部的资源,所以,Servlet引擎需要将表示Servlet容器的对象传递给Servlet。另外,在web.xml文件中为某个Servlet设置的友好名称和初始化参数等信息也需要传递给该Servlet。Servlet引擎将代表Servlet容器的对象和Servlet的配置。
   Servlet引擎将代表Servlet容器的对象和Servlet的配置参数信息一并封装到一个称为ServletConfig的对象中,并在初始化Servlet实例对象时传递给该Servlet。   ServletConfig接口则用于定义ServletConfig对象需要对外提供的方法,以便在Servlet程序中可以调用这些方法来获取有关信息。例如代表Servlet容器的对象,获取在web.xml文件中为Servlet设置的名称和初始化参数等。
     Servlet引擎调用Servlet的实例对象的init(ServletConfig config)方法将ServletConfig对象传递给Servlet。 Servlet.getServletConfig()方法必须返回init(ServletConfig config)方法传递进来的这个ServletConfig对象的引用。我们编写的Servlet程序内可以用一个私有成员变量来引用这个ServletConfig对象,以便在init方法之外的其他地方可以使用这个ServletConfig对象。也可以提供一个getServletConfig方法来返回这个ServletConfig对象的引用。特别是针对子类不能访问父类中的私有变量的情况,基类提供了getServletConfig方法,它说派生的Servlet子类就可以获得它说保存的ServletConfig对象的引用。

ServletConfig接口的方法
 getinitParameterNames方法
  在web.xml文件中可以为Servlet设置若干个初始化参数,getInitParameterNames 方法用于返回一个Enumeration集合对象,该集合对象中包含在web.xml文件中为当前Servlet设置的所有初始化参数的名称。
    getParameter方法用于返回在web.xml文件中为Servlet所设置的某个名称的初始化参数的值,如果指定名称的初始化参数不存在,则返回值为NULL.
    getServletName 方法用于返回Servlet在web.xml文件中的注册名称。
  getServletContext方法
    在Servlet程序中,每个Web应用程序(Servlet容器)都用一个各自的ServletContext对象来表示,ServletConfig对象中包含了ServletContext对象的引用,getServletContext方法用于返回ServletConfig对象中所包含的ServletContext对象的引用。
  GenericServlet类实现ServletConfig接口的目的。
   Servlet接口中定义了一个getServletConfig方法,该方法必须返回Servlet容器调用Servlet.init(ServletConfig config)方法时传递进来的那个ServletConfig对象的引用,GenericServlet类已经按此要求实现了getServletConfig方法。
在Servlet程序中调用ServletConfig对象的方法
String servletName=getServletConfig().getServletName()
在 GenericServlet类实现ServletConfig接口的方法
public String getServletName(){
   return getServletConfig().getServletName();

}
我们编写的Servlet类一般都会继承GenericServlet类,这样在Servlet程序中调用ServletConfig对象的方法就简单了
  String servletName=getServletName();

 

原创粉丝点击