Jsp、JavaBean 如何读取同一个文件?(相对路径)

DelYesterday 2006-08-07 09:10:30
这个问题困恼我有一段时间了,
JavaBean 读取相对路径的文件(如.Properties文件)
往往是 webapps/WEB-INF/classes,也就是 package 的顶端.
测试 JavaBean 是 OK 的.

但是,Jsp 调用 JavaBean 的时候,
就不再依 JavaBean 的思路去读取 webapps/WEB-INF/classes 下的文件了.

使用绝对路径运行 OK,

试问该如何解决这个问题?
...全文
352 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
DelYesterday 2006-08-09
  • 打赏
  • 举报
回复

感谢:blackpark(暖咖啡)

学习中……
blackpark 2006-08-08
  • 打赏
  • 举报
回复
找到篇文章,基本满足你的需求,里面的代码有些小问题,自己改。
getClassPath可以返回当前class所在的路径,你可以修改找个路径,然后new一个FileOutputStream。
http://cy.lzu.edu.cn/cy/club/clubPage.jsp?ccStyle=0&tID=886&ccID=77
blackpark 2006-08-08
  • 打赏
  • 举报
回复
抽空给你写,现在忙。。。
DelYesterday 2006-08-07
  • 打赏
  • 举报
回复
感谢 blackpark(暖咖啡) 的回答,
读取 .properties 问题已经得到解决,

但是,保存呢?
如果仅仅按 p.store(new FileOutputStream(new File("database.properties")),null) 保存的话, JavaBean 执行OK, Jsp 则将 database.properties 保存在 Tomcat 的安装目录下:D:\Program\Tomcat\database.properties.

想不通,就算执行失败也应该是保存在该 Jsp 目录下呀,怎么跑到安装目录下去了呢?

凋零的老树 2006-08-07
  • 打赏
  • 举报
回复
JavaBean 好象没办法读相对路径的东西
blackpark 2006-08-07
  • 打赏
  • 举报
回复
在Bean中如下方式调用,即可,database.properties文件在webapps/WEB-INF/classes下

InputStream in = getClass().getClassLoader().getResourceAsStream("database.properties");
Properties prop = new Properties();
prop.load(in);

user = prop.getProperty("user");
password = prop.getProperty("password");

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧