String web_inf = getServletContext().getRealPath("/WEB-INF/"); 获取到WEB-INF 的地址,剩下的路径自己拼接吧。
如果是 classes下面的配置文件,可以直接使用
Thread.currentThread().getContextClassLoader().getResource("/").getPath(); 剩下的路径,就自己拼接吧
参考 web中获取classpath路径
如果是 classes下面的配置文件,可以直接使用
Thread.currentThread().getContextClassLoader().getResource("/").getPath(); 剩下的路径,就自己拼接吧
参考 web中获取classpath路径
解决方案 »
- Javabean
- 怎样使用Struts1.x中的令牌(Token)避免注册时重复刷新插入值的问题?
- 关于soap缓存的问题
- 做JDBC时候遇到的小问题 用的是SQL SERVER2000
- Jetty 中jsp和servlet之间session问题
- weblogic配置问题
- tomcat不能解析jsp,请各位帮忙
- struts 页面的显示问题
- J2EE 1.4 SDK的疑惑!
- 疑问:如何确定一对多中 多的一方的任务是否完成 数据库设计导致开发中代码冗余问题
- springmvc 注解失败 No qualifying bean of type
- 求一个用Java算数学上C53,C72这样的算法,,,,效率越高越好
public static void main(String args[]) {
Properties p = new Properties();
try {
String path = Test.class.getClass().getResource("/").getPath();
path = path.substring(1, path.indexOf("classes"));
p.load(new FileInputStream(path + "parameter.properties"));
//读出具体的参数
System.out.println("mysql_url="+p.get("mysql_url"));
System.out.println("mysql_user="+p.get("mysql_user"));
System.out.println("mysql_password="+p.get("mysql_password"));
} catch (Exception e) {
e.printStackTrace();
}
}
使用getServletContext(). 方式不好,因为只能在web服务器启动的情况下使用。Thread.currentThread().getContextClassLoader(). 也不好,,因为ClassLoader是可以被框架或者服务器动态改变的。。有些情况下路径就不对了我总结的较好的方法
主要思路如下:
1.得到CLASS路径值。。
2.得到其父路径,即WEB-INF的路径值。
3.得到完整的WEB-INF\WEB.XML的路径值
这样在不启动web服务器的情况下,main函数也可以读取到web-inf下的配置