1.javax.servlet.ServletConfig是一个接口
2.Apache Tomcat服务器实现了Servlet规范,专门写了一个ServletConfig接口的实现类。
3.Tomcat服务器是一个实现了Servlet规范 和 JSP规范 的容器
4.ServletConfig具体是什么?
- ServletConfig是Servlet对象的配置信息对象,也就是说一个ServletConfig中封装了一个Servlet对象的配置信息,例如Servlet的名字,参数,上下文等等。
- Servlet对象的配置信息写在web.xml文件中,web.xml被封装在ServletConfig对象中。
- 一个Servlet对象,对应着一个ServletConfig对象,100个Servlet对象,对应着100个ServletConfig对象
5. 配置<init-param>参数,该参数可以通过ServletConfig对象获取到
<servlet>
<servlet-name>ServletConfig01</servlet-name>
<servlet-class>com.servlet.ServletConfig01</servlet-class>
<init-param> <!-- 初始化参数 ,被封装到ServletConfig对象中了-->
<param-name>driver</param-name>
<param-value>com.mysql.cj.jdbc</param-value>
</init-param>
</servlet>
6.ServletConfig中有哪些常用的方法?
- String getInitParameter(String name) 通过初始化参数定义的 name 获取 value ,即获取 <param-value>com.mysql.cj.jdbc</param-value>
例如:
String initParameterValue1=AServletConfige.getInitParameter("driver"); // com.mysql.jabc.Driver
String initParameterValue2=AServletConfige.getInitParameter("url"); // jdbc:mysql://127.0.0.1:3306/scott?serverTimezone=UTC
- Enumeration getInitParameterNames() 获取所有初始化参数的name 即获取 <param-name>driver</param-name>
例如:
Enumeration<String> names=config.getInitParameterNames(); 将所有的name放在Enumeration 集合中
//遍历集合
while(names.hasMoreElements()){ //如果 names.hasMoreElements()有数据,那面就是true
String name=names.nextElement();
String value=config.getInitParameter(name); //通过获取到的name获取与之对应的value
System.out.println(name+":"+value); // 输出 <key:value>
}
}
- String getServletName() 获取ServletName. 即获取 <servlet-name>ServletTestB</servlet-name>
例如:
String ServletName = config.getServletName();
System.out.println(ServletName);
- ServletCotext getServletContext() 获取Servlet上下文对象
例如:
ServletContext BServletContext = config.getServletContext();
System.out.println(BServletContext.toString());
JAVAEE_Servlet_05_ServletConfig接口
原文:https://www.cnblogs.com/szqengr/p/14680910.html