J2EE之ServletContext读取资源文件

J2EE之ServletContext读取资源文件

大家好,又见面了,我是全栈君。

ServletContext读取资源文件内容的方式有两种:

方法1.

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/data.properties");
	Properties pros = new Properties();
	pros.load(in);
		
	String username = pros.getProperty("username");
	String password = pros.getProperty("password");
		
	System.out.println("username = " + username);
	System.out.println("password = " + password);
}


J2EE之ServletContext读取资源文件

这里须要注意的是data.properties文件的位置在Myeclipse的src文件夹下,为啥getResourceAsStream方法传入的參数确实”/WEB-INF/classes/data.properties”

这是由于这些代码有webserver运行,当项目公布以后。data.properties文件就会被放到tomcat安装文件所在目录下。

如图:

J2EE之ServletContext读取资源文件J2EE之ServletContext读取资源文件J2EE之ServletContext读取资源文件

所以这里传入參数就解释清楚了。

方法2

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	String path = this.getServletContext().getRealPath("/WEB-INF/classes/data.properties");
	FileInputStream in = new FileInputStream(path);
	Properties pros = new Properties();
	pros.load(in);
		
		
	String username = pros.getProperty("username");
	String password = pros.getProperty("password");
		
	System.out.println("username = " + username);
	System.out.println("password = " + password);
}

这里首先通过getRealPath方法获取data.properties文件的绝对路径,然后通过FileInputStream获取文件流。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115509.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java中使用double转BigDecimal的问题

    Java中使用double转BigDecimal的问题先上结论:不要直接用double变量作为构造BigDecimal的参数。线上有这么一段Java代码逻辑:1,接口传来一个JSON串,里面有个数字:57.3。2,解析JSON并把这个数字保存在一个float变量。3,把这个float变量赋值给一个BigDecimal对象,用的是BigDecimal的double参数的构造:newBigDecimal(doubleval)4,把这个BigDecimal保存到MySQL数据库,字段类型是decimal(15,2)。…

    2022年5月24日
    138
  • 傅里叶变换的意义和理解(通俗易懂)

    傅里叶变换的意义和理解(通俗易懂)傅里叶变换的意义和理解(通俗易懂)这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析。傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝。老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了。(您把教材写得好玩一点会…

    2022年7月17日
    15
  • idea远程debug调试_eclipse远程debug

    idea远程debug调试_eclipse远程debug服务器端程序配置第一种方式比如我这次是需要远程debugpresto程序,然后在presto目录下的etc/jvm.config中添加了如下一行命令-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5009扩展:transport:调试时的通讯数据传输方式。address:地址端口server:是否监听调试请求。suspend:是否等待启动,即是否在debuger调试链接建立后才启动debugJVM。第二种

    2025年10月21日
    6
  • leetcode 接雨水2_雨水口连接管

    leetcode 接雨水2_雨水口连接管题目链接给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9 提示:n == height.length0 <= n &lt

    2022年8月8日
    6
  • linux部署tomact不能打开页面的情况

    linux部署tomact不能打开页面的情况

    2021年7月15日
    79
  • BOM的介绍_BOM定义

    BOM的介绍_BOM定义BOM的概念BOM(BrowserObjectModel)是指浏览器对象模型。浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口

    2022年8月5日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号