1.ServletConfig是什么?
- 是servlet规范中的一员。是一个接口(Java.servlet.ServletConfig)。
- Tomcat服务器实现了ServletConfig接口。
- 一个Servlet对象中只有一个ServletConfig对向(一对一)。
2.ServletConfig有什么作用?
ServletConfig对象被翻译为:Servlet对象配置信息对象。包含存储Servlet的配置信息。
3.ServletConfig对象中包含了什么信息?
<servlet>
<servlet-name>config</servlet-name>
<servlet-class>com.servlet.ConfigTestServlet</servlet-class>
</servlet>
ServletConfig对象中包含的信息是 web.xml文件中<servlet> </servlet>标签之间的信息。
4.ServletConfig中接口有那些?
例如在以下代码中:
<servlet> <servlet-name>config1</servlet-name> <servlet-class>com.xl.servlet.three.ConfigTestServlet</servlet-class> <!--Servlet对象初始化信息,例如连接数据库--> <init-param> <param-name>driver</param-name> <param-value>com.mysql.cj.jdbc.Driver</param-value> </init-param> <init-param> <param-name>url</param-name> <param-value>jdbc:mysql://localhost:3306/jdbc</param-value> </init-param> <init-param> <param-name>user</param-name> <param-value>root</param-value> </init-param> <init-param> <param-name>pass</param-name> <param-value>XL20020711</param-value> </init-param> </servlet>
4个方法:
1.public String getServletName();
获取的是<servlet-name> </serlvet-name>标签中信息;
String servletName = config.getServletName(); out.println("getServletName得到"+servletName+"<br>");//getServletName得到config1
2.public Enumeration<String> getInitParameterNames();
获取所有初始化参数的name;
3.public String getInitParameter(String name);
获取所有初始化参数的name对应的value
Enumeration<String> initParameterNames = config.getInitParameterNames(); //Enumeration<String> initParameterNames = this.getInitParameterNames(); //遍历 获取枚举对象中的下一个元素 while (initParameterNames.hasMoreElements()){ //hasMoreElements() 检查枚举对象中是否还有更多的元素 String name = initParameterNames.nextElement(); //枚举对象中有更多的元素,则可以使用 nextElement() 方法获取下一个元素 String value = config.getInitParameter(name);//根据name获取对应的值 out.print(name+"->"+value+"<br>"); }//得到结果
public ServletContext getServletContext();
获取ServletConfig对象
//第一种:通过ServletConfig获取ServletContext对象 ServletContext application1 = config.getServletContext(); out.println(application1+"<br>"); //org.apache.catalina.core.ApplicationContextFacade@2cd417ac //第二种:通过this也可以获取ServletContext对象 ServletContext application2 = this.getServletContext(); out.println(application2+"<br>"); //org.apache.catalina.core.ApplicationContextFacade@2cd417ac