用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文件的代码如下所示:
package com.qls.counter;
/**
* 用ServletContext读取配置a.properties 、b.properties 、
* c.properties、 d.properties
* 并证明不要把文件直接写在WEB-INF下,可以写在WEB-INF下面的某个文件夹的下面。
*/
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Properties; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class Test extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//获取输入流:
InputStream in = this.getServletConfig().getServletContext().getResourceAsStream("/a.properties");
InputStream in2 = this.getServletContext().getResourceAsStream("/WEB-INF/b.properties");
InputStream in3 = this.getServletContext().getResourceAsStream("/chenzhen/d.properties");
InputStream in4 = this.getServletContext().getResourceAsStream("/WEB-INF/ouyangfeng/c.properties");
//创建Properties
Properties prop=new Properties();
//加载输入流
prop.load(in);//把in2 in3 in4依次带入进去验证。
out.println("sixi="+prop.getProperty("sixi"));
out.println("<br/>");
out.println("rapeFlower="+prop.getProperty("rapeFlower"));
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
this.doGet(request, response);
} }/*Output:
这是in in3 in4的输出结果
sixi=town
rapeFlower=ouyangfeng
in2的输出结果是:
sixi=null
rapeFlower=null
**///:~
从上面的输出结果可以证明本文一开始所说的内容,不要把文件直接放在WEB-INF下面。
至于怎么从ServletContext读取配置文件可以总结为四句话:获取输入流、 创建属性、 加载输入流、 获得属性值。
用ServletContext读取.properties文件的更多相关文章
- 读取properties文件------servletcontext及dao层读取
用servletcontext读取properties文件-------1) 重点在于:InputStream in=this.getServletContext().getResourceAsStr ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- Java的Properties类和读取.properties文件
一..properties文件的作用 Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必 ...
- Java读取Properties文件的六种方法
使用J2SE API读取Properties文件的六种方法 1.使用java.util.Properties类的load()方法示例: InputStream in = lnew BufferedIn ...
- J2EE之ServletContext读取资源文件
ServletContext读取资源文件内容的方式有两种: 方法1. public void doGet(HttpServletRequest request, HttpServletResponse ...
- 用java读取properties文件--转
今天为了通过java读取properties文件,google了很长时间,终于找到了.现在特记录之和大家一起分享. 下面直接贴出代码:java类 public class Mytest pub ...
- javaSE读取Properties文件的六种方法
使用JavaSEAPI读取Properties文件的六种方法 1.使用java.util.Properties类的load()方法 示例:InputStreamin=lnewBufferedInput ...
- 五种方式让你在java中读取properties文件内容不再是难题
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
- 用eclipse做项目中常遇到的问题-如何创建并读取properties文件
在用eclipse做项目开发的时候我们常常会将一些重要的内容写在配置文件里面, 特别是连接数据库的url,username,password等信息,我们常常会新建一个properties文件将所有信息 ...
随机推荐
- java的八种基本数据类型
据说表格的方式一目了然 一. java数据类型的取值范围如下: 注意:long型后如果不加 L 则默认为int型,float型如果不加 F 则默认为double型: 注意!注意!注意 ...
- 基于form表单submit提交不跳转
方法一:target <html> <body> <form action="" method="post" target=&qu ...
- day1_作业(账户登录检测)
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- f=open('/users/zhangyu/PycharmProjects/s14/day1/Home ...
- mybatis中@Param用法
用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 我们先来看Mapper接口中的@Select方法 package Ma ...
- 字典--数据结构与算法JavaScript描述(7)
字典 字典是一种以键-值对形式存储数据的数据结构. Dictionary 类 Dictionary 类的基础是Array 类,而不是Object 类. function Dictionary( ){ ...
- Diycode开源项目 如何解决InputMethodManager造成的内存泄漏问题
1.内存泄漏的状况及原因 1.1.利用LeakCanary查看内存泄漏的状况 1.2.内存泄漏怎么产生的呢? InputMethodManager.mServicedView持有一个最后聚焦View的 ...
- java练习——接口与继承
父类与子类的构造方法: 如果父类中有一个默认无参的构造方法,那么子类的构造方法中会自动进行调用.如果父类有自己的构造方法,且这时父类没有默认无参的构造方法,那么在子类的构造方法中,必须要调用父类的某个 ...
- Android 判断屏幕方向一个大坑
正常的判断屏幕方向的代码: /** 获取屏幕是否是竖屏 * @return */ @SuppressLint("SwitchIntDef") public boolean isSc ...
- JavaScript获取时间
var myDate = new Date(); console.log(myDate.getFullYear()); //获取完整的年份(4位,1970-????) ...
- python学习笔记五:模块和包
一.模块用import导入 cal.py: #!/usr/bin/python def add(x,y): return x+y if __name__ == '__main__': print ad ...