用ServletContext读取.properties文件

在这里主要介绍ServletContext怎么从.properties文件中用键得到值的。

ServletContext读取的.properties文件一般放在的位置有:1直接放在WebRoot下面.2.放在WebRoot下面的某个文件夹下面.3.放在WEB-INF下面某个文件夹的下面。

特别注意不要把.properties文件直接放在WEB-INF下面。(因为这样取得的结果是null)

下面这张图中的红色边框的矩形就是上述的几种位置:

a.properties  、b.properties 、c.properties、 d.properties文件的内容都为如下所示:

sixi=town
rapeFlower=ouyangfeng

a.properties  、b.properties 、c.properties、 d.properties文件的代码如下所示:

 1 package com.qls.counter;
 2 /**
 3  * 用ServletContext读取配置a.properties  、b.properties 、
 4  * c.properties、 d.properties
 5  * 并证明不要把文件直接写在WEB-INF下,可以写在WEB-INF下面的某个文件夹的下面。
 6  */
 7 import java.io.IOException;
 8 import java.io.InputStream;
 9 import java.io.PrintWriter;
10 import java.util.Properties;
11 
12 import javax.servlet.ServletException;
13 import javax.servlet.http.HttpServlet;
14 import javax.servlet.http.HttpServletRequest;
15 import javax.servlet.http.HttpServletResponse;
16 
17 public class Test extends HttpServlet {
18 
19     
20     public void doGet(HttpServletRequest request, HttpServletResponse response)
21             throws ServletException, IOException {
22 
23         response.setContentType("text/html;charset=utf-8");
24         PrintWriter out = response.getWriter();
25         //获取输入流:
26         InputStream in = this.getServletConfig().getServletContext().getResourceAsStream("/a.properties");
27         InputStream in2 = this.getServletContext().getResourceAsStream("/WEB-INF/b.properties");
28         InputStream in3 = this.getServletContext().getResourceAsStream("/chenzhen/d.properties");
29         InputStream in4 = this.getServletContext().getResourceAsStream("/WEB-INF/ouyangfeng/c.properties");
30         //创建Properties
31         Properties prop=new Properties();
32         //加载输入流
33         prop.load(in);//把in2 in3  in4依次带入进去验证。
34         out.println("sixi="+prop.getProperty("sixi"));
35         out.println("<br/>");
36         out.println("rapeFlower="+prop.getProperty("rapeFlower"));
37     }
38 
39     
40     public void doPost(HttpServletRequest request, HttpServletResponse response)
41             throws ServletException, IOException {
42 
43         response.setContentType("text/html;charset=utf-8");
44         PrintWriter out = response.getWriter();
45         this.doGet(request, response);
46     }
47 
48 }/*Output:
49 这是in in3 in4的输出结果
50 sixi=town 
51 rapeFlower=ouyangfeng
52 in2的输出结果是:
53 sixi=null 
54 rapeFlower=null
55 **///:~

从上面的输出结果可以证明本文一开始所说的内容,不要把文件直接放在WEB-INF下面。

至于怎么从ServletContext读取配置文件可以总结为四句话:获取输入流、 创建属性、 加载输入流、 获得属性值。

 

posted @ 2016-12-16 06:49  技术让世界更精彩  阅读(958)  评论(0编辑  收藏  举报