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获取!!!!

posted @ 2017-04-14 00:33  皮皮虾我们上  阅读(189)  评论(0编辑  收藏  举报