ServletConfig对象

来源:互联网 发布:爱淘宝 每日抽红包 编辑:程序博客网 时间:2024/06/13 05:00

ServletConfig对象:

在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。

   当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

ServletContext对象:

WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。

    ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。

servletContext对象的获取:

      <1> ServletContext对象被包含在ServletConfig对象中 所以可以通过ServletConfig 对象调用ServletConfig.getServletContext()获得对ServletContext对象的引用。

 

<2>在继承了HttpServlet对象的类中 可以通过this.getServletContext来获取。

  由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。

读取资源文件有三种方式,我们一般不用第三种,所以我们现在就说前两种

       // 第一种方式读取外部的资源文件

       InputStream is = context

     .getResourceAsStream("/WEB-INF/classes/res/0266-10583g.jpg");

      

       // response.getWriter().write(realPath);

       response.setHeader("Content-Type", "image/jpeg"); OutputStream os =

       response.getOutputStream(); byte buffer[] = new byte[1024]; int len =

       0; while ((len = is.read(buffer)) != -1) { os.write(buffer, 0, len);

       }

      

       os.close(); is.close();

     //第二种方式

     String path = context.getRealPath("WEB-INF/classes/db.properties");

     File file = new File(path);

     InputStream is = new FileInputStream(file);

     //解析properties的文件

     Properties prop = new Properties();

     prop.load(is);

     Set<String> set = prop.stringPropertyNames();

     //遍历Set集合

     Iterator<String> it = set.iterator();

     while(it.hasNext()){

        String key = it.next();

        String value = prop.getProperty(key);

        System.out.println(key+"....."+value);

     }

    response.getWriter().print("ha");

原创粉丝点击