文章目录
一、普通java项目
- 先看普通java项目结构:
- config.properties文件:
- 这里如何如何加载config.properties文件呢?
直接撸代码:
package com.demo.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class Test01 {
public static void main(String[] args) throws IOException {
//1通过Properties对象来加载普通java项目的文件
Properties pro = new Properties();
//2.直接用文件输入流的方式
// InputStream inStream = new FileInputStream("src/config.properties");
//3.也可以用类加载器的方式
InputStream is = Test01.class.getClassLoader().getResourceAsStream("config.properties");
//4.加载文件(输入流)
// pro.load(inStream);
pro.load(is);
String value = pro.getProperty("key2");
System.out.println(value);
}
}
二、web项目
- 先看目录结构
- config.properties文件内容
- 这里加载config.properties就不能像上面那样子了
直接上代码
package haijia;
/**
* 测试访问普通java工程项目中src下的文件,用同样方法来访问web项目中src的文件,看看效果
* 结果:报错,找不到指定路径,因为在tomcat服务器上没有src路径
*/
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletContext;
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 Test006
*/
@WebServlet("/test006")
public class Test006 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
//1.获取ServletContext对象
ServletContext sct = this.getServletContext();
//2.这个路径一定是相对于tomcat服务器下的,不是web工程下的src
String path = "/WEB-INF/classes/config.properties";
//获取绝对路径
String realPath = sct.getRealPath(path);
//3.创建Properties对象
Properties pro = new Properties();
//4.获取输入流
// InputStream is = sct.getResourceAsStream(realPath); //报错,因为该方法的参数要相对路径,换成path就可以
InputStream is = new FileInputStream(realPath);
//5.加载文件
pro.load(is);
//6.取值
String name = pro.getProperty("name");
String weixin = pro.getProperty("weixin");
//7.返回信息给浏览器
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print("名字叫 :"+name+",weixin:"+weixin);
}
/**
* @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);
}
}
- 浏览器端结果展示:
三、分享交流
最后有兴趣一起交流的,可以关注我的公众号:这里你能够学到很实用的技巧,不是常用的我不说,公众号回复提取码即可获取以下学习资料啦啦啦啦,喜欢就拿去吧!!
(链接时常会失效,若出现此类情况,可以加我微信:17722328325(加时请备注:学习资料))
-
Java web从入门到精通电子书
-
Python机器学习电子书
-
Python400集(北京尚学堂)
-
JavaScript项目案例、经典面试题
-
Java300集(入门、精通)
-
Java后端培训机构录集(同事培训内部提供)
-
java重要知识pdf文档(价值连城呀呀,不收藏你会后悔的)