用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文件将所有信息 ...
随机推荐
- CentOS使用yum安装drbd
CentOS 6.x系统要升级到最新的内核才支持 CentOS 6.x rpm -ivh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noa ...
- python代码实现截图识字
有次网上down了个截图实识的软件,发现一天只能用10次要钱才能解锁免费,很气,作为一个菜鸡怎么能忍受 于是自己用python写了个简单的小工具,分享给大家 代码如下: 先安装库 from PIL i ...
- 搭建MQTT代理服务器
# 解压tar zxfv mosquitto-1.4.14.tar.gz# 进入目录cd mosquitto-1.4.14# 编译make# 安装sudo make instal 1 启动代理服务在第 ...
- HDFS学习指南
本篇HDFS组件基于CDH5进行安装,安装过程:https://www.cnblogs.com/dmjx/p/10037066.html 角色分布 hdp02.yxdev.wx:HDFS server ...
- python__基础 : 异常处理与自定义异常
异常处理方法一般为: try: ------code----- except Exception as e: # 抛出异常之后将会执行 print(e) else: # 没有异常将会执行 print( ...
- Flask初学者:视图函数/方法返回值(HTML模板/Response对象)
返回HTML模板:使用“from flask import render_template”,在函数中传入相对于文件夹“templates”HTML模板路径名称字符串即可(默认模板路径),flask会 ...
- 笔记-爬虫-scrapy-srcapy-redis组件
笔记-爬虫-scrapy-srcapy-redis组件 1. 简介 scrapy是一个爬虫框架,但不支持分布式,scrapy-redis是为了更方便的实现scrapy分布式爬虫的组件. 可以 ...
- 第四模块:网络编程进阶&数据库开发 口述
进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 子进程死了之后 ,父进程关闭的时候要清理掉子进程的僵尸进程(收尸),孤儿进程是指父进程先死掉了的,交给init管理. join() 等待子进 ...
- 直接插入排序&希尔排序
1.直接插入排序 时间复杂度O(n2) 工作原理: 通过构建有序序列,对于未排序数据,在已排序的序列中,从后向前扫描,找到相应的位置并插入. 插入排序在实现上,在从后向前扫描的过程中,需要反复把已排序 ...
- centso下如何解压RAR文件
tar -xvf rarlinux-3.9.3.tar.gz cd rar make 看见下面这些信息就是安装成功了 mkdir -p /usr/local/bin mkdir -p /usr/l ...