Servlet之读取资源文件
2015-10-26 16:20
211 查看
<pre name="code" class="html"><pre name="code" class="html">读取资源文件db.properties里的内容: <pre name="code" class="html"><pre name="code" class="html">如果读取资源文件的程序不是servlet的话,通过类装载器
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.HttpServletResponse;import cn.itcast.dao.UserDao;public
class ServletDemo12 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws
ServletException, IOException {UserDao dao=new UserDao();dao.update();}}
import java.io.IOException; import java.io.InputStream; import java.util.Properties; //如果读取资源文件的程序不是servlet的话,通过类装载器 public class UserDao { public void update() throws IOException{ InputStream in=UserDao.class.getClassLoader().getResourceAsStream("db.properties"); Properties prpo=new Properties(); prpo.load(in); System.out.println(prpo.getProperty("url")); } }
<pre name="code" class="html">db.properties文件如下:
url=jdbc\:mysql\://127.0.0.1/text username=root password=root driver=org.gjt.mm.mysql.Driver
优化:如果有很多方法,就需要用到static方法块来读取:
import java.io.IOException; import java.io.InputStream; import java.util.Properties; //如果读取资源文件的程序不是servlet的话,通过类装载器 public class UserDao { private static Properties dbconfig=new Properties(); static{ try{ InputStream in=UserDao.class.getClassLoader().getResourceAsStream("db.properties"); dbconfig.load(in); }catch (Exception e) { throw new ExceptionInInitializerError(e); } } public void update() throws IOException{ System.out.println(dbconfig.getProperty("url")); } public void find(){ } public void delete(){ } }
以上方法虽然可以读取到数据,但无法获取更新后的数据,若想获取更新后的数据,则要使用以下方法:
public void update() throws IOException{ //可获得更新后的数据 String path=UserDao.class.getClassLoader().getResource("db.propert").getPath(); FileInputStream in=new FileInputStream(path); Properties dbconfig=new Properties(); dbconfig.load(in); System.out.println(dbconfig.getProperty("url")); }
相关文章推荐
- 第8周项目1建立顺序串的算法库
- linux系统中cut sort tee 和uniq命令的使用
- pomelo命令行详解
- 第九周 数组与广义表 项目1 -- 猴子选大王(数组版)
- 安卓项目图片缓存实现
- python自学之列表、元组
- A sigular value decomposition(奇异值分解)
- LeetCode No.258 Add Digits
- TextView和textField 定位光标问题
- 设置button不同状态下的背景色,即把这个颜色变成图片设置成,背景图片
- cmake编译dcmtk,并利用vs2010 进行开发mfc 程序
- [Docker]execdriver简单研究与尝试
- Android应用程序的资源选择规则
- BLE基本 概念
- 第7周项目5 -排队看病模拟
- MIPI DSI协议介绍
- 第九周--猴子选大王(数组版)
- iClap分享:如何做好一个产品汪?(内容篇)
- magento 后台订单状态修改
- Retry Pattern