我在myeclipse中做了一个项目,想得到WEB-INF\conf目录下的sms.properties文件
我在java类里面这样写:static String DEFAULT_CONFFILE = "conf/sms.properties";
总是报:java.io.FileNotFoundException: conf\sms.properties (系统找不到指定的路径。) 如果我写绝对路径可以,请问相对路径怎么写
我在java类里面这样写:static String DEFAULT_CONFFILE = "conf/sms.properties";
总是报:java.io.FileNotFoundException: conf\sms.properties (系统找不到指定的路径。) 如果我写绝对路径可以,请问相对路径怎么写
楼主【methc】截止到2008-07-24 14:12:28的历史汇总数据(不包括此帖):
发帖的总数量:4 发帖的总分数:140 每贴平均分数:35
回帖的总数量:7 得分贴总数量:1 回帖的得分率:14%
结贴的总数量:4 结贴的总分数:140
无满意结贴数:1 无满意结贴分:100
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:25.00 % 无满意结分率:71.43 %
敬礼!
放到 代码的根目录下才可以。
private static final Logger logger=Logger.getLogger(SystemConfigLoadServlet.class);
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy();
}
/**
* 系统配置信息初始化方法<br>
* Author:BluesLee<br>
* CreateDate:2008-02-04<br>
* Modifier:BluesLee<br>
* ModifyDate:2008-02-04<br>
* Version:1.0<br>
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
//获取实际路径
String realpath = this.getServletContext().getRealPath("/WEB-INF/conf/sms.properties")
;
//将路径存放到配之类静态属性
Config.DEFAULT_CONFFILE=realpath;
}}public class Config{
public static String DEFAULT_CONFFILE=null;
}
后面的程序任何类就可以使用了
具体配置:
<!-- 系统配置信息初始化 -->
<servlet>
<servlet-name>system-config-load</servlet-name>
<servlet-class>servlet.SystemConfigLoadServlet</servlet-class> <load-on-startup>10</load-on-startup>
</servlet>想要灵活点,还可以把文件路径配置到web.xml里
<!-- 系统配置信息初始化 -->
<servlet>
<servlet-name>system-config-load</servlet-name>
<servlet-class>servlet.SystemConfigLoadServlet</servlet-class>
<init-param>
<param-name>config-file</param-name>
<param-value>/WEB-INF/conf/sms.properties</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
servlet类init方法里应该这样修改:
String realpath = this.getServletContext().getRealPath("");
String file = this.getInitParameter("config-file");
Config.DEFAULT_CONFFILE=realpath;
System.out.println(path+"/WEB-INF/conf/sms.properties");
在jsp里加上<%=request.getContextPath()%>/