项目发布文件的路径问题
时间:2008-07-24 15:48:46
来源:论坛整理 作者: 编辑:chinaitzhe
我在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 %
敬礼!

网友回复:WEB-INF/conf/sms.properties
网友回复:WEB-INF\conf => src\conf
放到 代码的根目录下才可以。
网友回复:在servlet里获取
- Java code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ String path=this.getServletContext().getRealPath("/WEB-INF/conf/sms.properties")
网友回复:在项目里配置一个servlet
- Java code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ public class SystemConfigLoadServlet extends HttpServlet { 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配置系统加载时执行init方法获取路径然后存放好
后面的程序任何类就可以使用了
具体配置:
<!-- 系统配置信息初始化 -->
<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;
网友回复:谢谢楼上的大哥,你说可不可以不用servlet解决呢?
网友回复:不用servlet获取系统路径
- Java code
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ String path = System.getProperty("user.dir"); System.out.println(path "/WEB-INF/conf/sms.properties");
网友回复:谢谢你!
网友回复:String path=this.getServletContext().getRealPath("/WEB-INF/conf/sms.properties")
在jsp里加上 <%=request.getContextPath()%>/
网友回复:
关键字:项目,发布,文件,路径,问题,
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面