ServletConfig是什么
1、 ServletConfig是Servlet规范中的一个规则,它是一个接口.ServletConfig的两个实现类:GenericServlet,HttpServlet 在编写Servlet骀旬沃啭时,ServletConfig对象是作为init方法的参数传入的 Servlet对象是服务器创建的 ServletConfig对象是服务器创建的 init方法在执行时,传入ServletConfig对象是服务器完成的 ServletConfig对象到底是什么? ServletConfig对象是它所对应的Servlet对象的相关配置信息 每一个servlet对象都有一个ServletConfig对象和它相对应,ServletConfig对象在多个Servlet对象之间是不能共享的 如果应用中有100个Servlet对象,就会有100个ServletConfig对象,Servlet对象和它的ServletConfig对象是一对一的关系 常见的ServletConfig对象的方法 getInitParameter(String name) 返回一个初始化变量的值 getInitParameterNames() Enumeration 返回servlet初始化参数的所有名称 getServletContext() 获取ServletContext对象 后面的课程具体讲解ServletContext getServletName() 获取Servlet的name配置值 ServletConfig是接口,它实际使用的实现类是org.apache.catalina.core.StandardWrapperFacade,在init方法中使用config对象实际就是使用多态, getInitParameter(String name) 返回一个初始化变量的值 每一个servlet在配置时都可以指定多个初始化变量 在配置文件web.xml中,可以为某一个servlet配置 初始化参数语法 <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>servlet.HelloServlet</servlet-class> <init-param> <param-name>aaa</param-name> <param-value>111</param-value> </init-param> 以上的配置信息 init-param 必须写在servlet注册信息中,必须写在servlet-class下 </servlet> 以上的初始化参数就是类似配置文件的功能:一个是解耦合一个使用配置文件实际上就是为了封装变化 getInitParameterNames() 获取所有配置的初始化参数的名称 Enumeration ee = config.getInitParameterNames(); String name = null; while(ee.hasMoreElements()){ //遍历名称集合,输出每一个初始化参数的名称 //System.out.println(ee.nextElement()); name = (String) ee.nextElement(); System.out.println(name+":"+config.getInitParameter(name)); } 获取所有的初始化参数 ,并获取每一个初始化参数的值 ServletConfig的主要作用1、获取某个servlet的初始化参数2、获取ServletContext