首页 > 编程语言 > 详细

在eclipse完成对Java_web项目里面资源文件的读取

时间:2020-12-05 11:21:04      阅读:51      评论:0      收藏:0      [点我收藏+]

Java_web项目的资源文件一般有两种:

一种是存放数据之间有联系的文件,使用xml文件

另一种是存放数据之间没有联系的文件,使用properties文件

 

这里我们对properties文件读写做示范:

1、首先在eclipse的src目录下创建一个资源文件properties

技术分享图片

我们可以看到没有创建file文件的选项,那就选Other

技术分享图片

技术分享图片

然后点finish就可以了。

 

文件里面随便放点数据:

url=127.0.0.1
name=root
password=root

 

之后在src的test包里面创建一个ServletContextDemo2.Java

技术分享图片

文件内容如下:

package test;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ServletContextDemo2
 */
@WebServlet("/ServletContextDemo2")    //注意有了这个就不需要往web.xml文件里面添加路径映射
public class ServletContextDemo2 extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //路径上第一个斜杠/相对于项目day02的相对路径
        InputStream in = this.getServletContext().getResourceAsStream("/build/classes/db.properties");
        //FileInputStream in = new FileInputStream("classes/db.properties");
        Properties pro = new Properties();
        pro.load(in);  //这个文件的值会以map的形式存放
        
        String url = pro.getProperty("url");
        String name = pro.getProperty("name");
        String password = pro.getProperty("password");
        
        System.out.println(url);
        System.out.println(name);
        System.out.println(password);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

 

 

要特别注意一下这一条语句:

InputStream in = this.getServletContext().getResourceAsStream("/build/classes/db.properties");

 

这个文件路径可不是你看到的路径,什么意思呢?

我们在src目录下创建的db.properties,但是我们的项目发布之后是没有src这个目录的。所以你可不能把路径写成src/db.properties

 

那么我们怎么看自己项目发布之后的路径呢?

打开项目属性:

技术分享图片

技术分享图片

 

 

到这里大家应该知道了为什么路径要写成

/build/classes/db.properties  东西了吧!

 

如果你想要在一个Java包里面创建资源文件,之后访问。那就把路径改成

/build/classes/包/db.properties

 

 

完结!!

 

在eclipse完成对Java_web项目里面资源文件的读取

原文:https://www.cnblogs.com/kongbursi-2292702937/p/14088681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!