【JSP开发】用ServletContext读取资源文件

两种读取资源文件的方法。

db.properties文件中放了三个参数,分别是url、username和password信息。

测试代码:

package cn.edu;

import java.io.FileInputStream;
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;

//用ServletContext读取资源文件的方法
public class ServletDemo9 extends HttpServlet {

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

        InputStream in =this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");

        //模板代码(采用传统FileInputStream直接读不好(相对路径),用ServletContext)
        Properties props = new Properties();//map
        props.load(in);

        String url=props.getProperty("url");
        String username=props.getProperty("username");
        String password=props.getProperty("password");

        System.out.println(url);
        System.out.println(username);
        System.out.println(password);

        System.out.println("方法二:");
		text2();
	}

	//通过ServletContext()的getRealPath得到资源的绝对路径后,再通过传统流读取资源文件
	//采用ServletContext()利用传统FileInputStream方法读资源文件
	//这样得到的路径是真实路径(绝对路径),而不是上面说的相对路径
	public void text2() throws IOException{

		//这个方法可以拿到资源的名称
		String path=this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");
		FileInputStream in =new FileInputStream(path);
        String filename=path.substring(path.lastIndexOf("\\")+1);

        System.out.println("资源文件名称为:"+filename);
		//System.out.println(path);
		//结果D:\apache-tomcat-6.0.24\webapps\day05\WEB-INF\classes\db.properties

		Properties props = new Properties();//map
        props.load(in);

        String url=props.getProperty("url");
        String username=props.getProperty("username");
        String password=props.getProperty("password");

        System.out.println(url);
        System.out.println(username);
        System.out.println(password);
	}

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

	}

}
时间: 2024-10-30 01:53:52

【JSP开发】用ServletContext读取资源文件的相关文章

【Windows 10 应用开发】细说文本资源文件(resw)

原文:[Windows 10 应用开发]细说文本资源文件(resw) 最近,小戏骨版<红楼梦>很是火热,老周一口气看完了9集,一直看到 Surface 的风扇呼呼响.林黛玉和薛宝钗这两个角色都演得不怎么样,倒是演史湘云的娃娃演得不错,老周甚是喜欢. 于是,昨晚就不写代码了,让机器也休息一下.有人会问,看视频能看到发热?是的,一来,南方的天气,虽说秋分已过,但仍然暑气不消:二来嘛,老周是在网页上看的,Flash 那个播放组件,你懂的,特特的耗性能. 好了,F话就不扯太多,今天咱们聊聊 UWP 开

java读取资源文件的五种方式

package com.zkn.newlearn.others; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import com.zkn.newlearn.gof.singleton.SimpleFactoryTest01; /** * 读取资源文件的五种方式 * @author zkn */ public class ClassReadResourceDemo { p

intelliJ idea读取资源文件

原文:intelliJ idea读取资源文件 原文地址 http://yanwushu.sinaapp.com/intellij-idea_raed_resource_file/ 官方文档 以下是jetbrain官网对idea中资源文件的解释,文章最后有此文的链接. 这里的资源文件包括properties文件.图片.dtd文件.xml文件.这些文件被放在项目的classpath路径下.通常可以使用以下方法来获取他们: ResourceBundle.getBundle() //获取properti

Android读取资源文件的方法

Android读取资源文件的方法 1.放入到资源文件夹里面,也就是所创建android工程的res下面. 我们可以在里面建立文件夹,放置我们要读取的文件. 例如:res里面建立目录raw,将要读取的文件abc.bin放入到该文件夹下,此时通过 openRawResource()方法即可读取.代码为 InputStream is = getResources().openRawResource(R.raw.abc); 只要获取InputStream,一切就好办了! 注意:res下面的目录名字是有讲

Java或者JAR包获取读取资源文件的路径的问题总结

这里分为具体两种:  第一种:资源文件为一般后缀文件  第二种:资源文件为图片文件  [NO1]第一种    使用这行代码可以获取class类的根目录的路径    String path =Thread.currentThread().getContextClassLoader().getResource("").getPath();  例子:我用的开发软件MyEclipse 6.5  假设项目文件夹如下:     files---bin--core(生成class包)        

提前认识软件开发(12) 配置文件读取及文件操作

在通信领域的软件开发项目中,C语言是主流的编程语言,而文件操作在其中又占有很重要的地位.此外,为了体现产品的灵活性,可添加配置文件对某些重要的参数进行按需配置.这就要求程序能够准确读取到各个配置项的值. 本文以一个实际的小软件为例,介绍了C语言中配置文件的读取方法和重要的文件操作函数的使用方法,为相关软件开发项目提供了有益的参考. 1.前言 在一般的软件项目中,常常需要用C语言对文件进行操作.在诸如对账之类的程序中,尤其如此.而C语言中有关文件操作的函数多达数十种,熟悉常用函数(如fopen.f

读取spring配置文件的方法(spring读取资源文件)_java

1.spring配置文件 复制代码 代码如下: <bean id="configproperties"          class="org.springframework.beans.factory.config.PropertiesFactoryBean">          <property name="location" value="classpath:jdbc.properties"/>

【JSP开发】ServletContext的传值取值

ServletDemo4.java: package cn.edu; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServl

黑莓ECLIPSE3.5开发环境不识别资源文件导致编译不通过解决方案附文件(系统语言问题)

 在为应用程序加入本地化支持时会遇到Can't open dir C:/test/LocalizationDemo/bin/com.rim.samples.device.localizationdemo.LocalizationDemo?ê.crb/ 的错误,这主要是eclipse的bug.一般人解决思路都是装一个全英的系统,但是如果你的系统已经是中文了,解决方法如下: 解决方法很简单: 下载 net.rim.ejde.componentpack6.0.0_6.0.0.29,取/componen