ServletConfig
1、ServletConfig对象: 主要是用于加载servlet的初始化参数。在一个web应用可以存在多个ServletConfig对象(一个Servlet对应一个ServletConfig对象)
2、对象的创建与得到
创建时机: 在创建完servlet对象之后,在调用init方法之前创建。
得到对象: 直接从有参数的init方法中得到!!!
3、ServletConfig的API:
java.lang.String getInitParameter(java.lang.String name) 根据参数名获取参数值
java.util.Enumeration getInitParameterNames() 获取所有参数
ServletContext getServletContext() 得到servlet上下文对象
java.lang.String getServletName() 得到servlet的名称
public class ConfigDemo extends HttpServlet { /** * 以下两段代码GenericServlet已经写了,我们无需编写!! */ /*private ServletConfig config;*/ /** * 1)tomcat服务器把这些参数会在加载web应用的时候,封装到ServletConfig对象中 * 2)tomcat服务器调用init方法传入ServletConfig对象 */ /*@Override public void init(ServletConfig config) throws ServletException { this.config = config; }*/ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/*//获取servletConfig 对象方式2
ServletConfig config = this.getServletConfig();*/ /** * 读取名字为path的servlet的初始参数 */ String path = this.getServletConfig().getInitParameter("path"); File file = new File(path); //读取内容 BufferedReader br = new BufferedReader(new FileReader(file)); String str = null; while( (str=br.readLine())!=null ){ System.out.println(str); } //查询当前servlet的所有初始化参数 Enumeration<String> enums = this.getServletConfig().getInitParameterNames(); while(enums.hasMoreElements()){ String paramName = enums.nextElement(); String paramValue = this.getServletConfig().getInitParameter(paramName); System.out.println(paramName+"="+paramValue); } //得到servlet的名称 String servletName = this.getServletConfig().getServletName(); System.out.println(servletName); } }
配置文件
<servlet>
<servlet-name>ConfigDemo</servlet-name>
<servlet-class>cn.demo.ConfigDemo</servlet-class>
<!-- 初始参数: 这些参数会在加载web应用的时候,封装到ServletConfig对象中 -->
<init-param>
<param-name>path</param-name>
<param-value>e:/b.txt</param-value>
</init-param>
</servlet>
注意: servlet的参数只能由当前的这个sevlet获取!!!!