为什么就是获取不到javaweb工程下的配置文件所在路径 50
在这个Configuration类上测试可以可是在action控制层上调用这个方法总是出现出现这个就报路径错误-------profilepath---------E:\...
在这个Configuration类上测试可以
可是在action控制层上调用这个方法总是出现
出现这个就报路径错误
-------profilepath---------E:\Workspaces\MyEclipse 10\meixunSSHproject\bin\src\configuration.properties
这个路径上多出个bin 到底是怎么回事呢
具体的方法我是参考:http://blog.csdn.net/thl331860203/article/details/7239937 这篇文章的 展开
可是在action控制层上调用这个方法总是出现
出现这个就报路径错误
-------profilepath---------E:\Workspaces\MyEclipse 10\meixunSSHproject\bin\src\configuration.properties
这个路径上多出个bin 到底是怎么回事呢
具体的方法我是参考:http://blog.csdn.net/thl331860203/article/details/7239937 这篇文章的 展开
4个回答
展开全部
在Java web项目中经常会用属性文件作为配置文件,而其一般放在src的根目录下,读取文件时一般会有以下两种情况:
方式一、在servlet中读取:
// action配置文件路径
public static final String ACTIONPATH = "WEB-INF/classes/actions.properties";
// 属性文件
public static final Properties prop = new Properties();
// 获取servlet上下文的绝对路径,如:C:\Program Files\Apache\Tomcat 6.0\webapps\fee\
String path = getServletContext().getRealPath("\\");
// 把文件读入文件输入流,存入内存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//加载文件流的属性
prop.load(fis);
方式二、在一般的类中读取:
// action配置文件路径
public static final String ACTIONPATH = "actions.properties";
// 属性文件
public static final Properties prop = new Properties();
// 获取当前类加载的根目录,如:/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/
String path = UriFilter.class.getClassLoader().getResource("").toURI().getPath();
// 把文件读入文件输入流,存入内存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//加载文件流的属性
prop.load(fis);
方式一、在servlet中读取:
// action配置文件路径
public static final String ACTIONPATH = "WEB-INF/classes/actions.properties";
// 属性文件
public static final Properties prop = new Properties();
// 获取servlet上下文的绝对路径,如:C:\Program Files\Apache\Tomcat 6.0\webapps\fee\
String path = getServletContext().getRealPath("\\");
// 把文件读入文件输入流,存入内存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//加载文件流的属性
prop.load(fis);
方式二、在一般的类中读取:
// action配置文件路径
public static final String ACTIONPATH = "actions.properties";
// 属性文件
public static final Properties prop = new Properties();
// 获取当前类加载的根目录,如:/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/
String path = UriFilter.class.getClassLoader().getResource("").toURI().getPath();
// 把文件读入文件输入流,存入内存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//加载文件流的属性
prop.load(fis);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我给个方法:
URL url = ClassLoader.getSystemClassLoader().getResource("configuration.properties");
System.out.println(url);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
InputStream inStream = this.getClass().getResourceAsStream("/configurations.properties") ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你运行的两个文件所在的user.dir目录不一致
更多追问追答
追问
是不一样 ,只不过包一样而已呢,都有包 而不是在src根目录下,能说详细点不,为什么会出现这种情况
追答
user.dir 在java application下和 web项目下获取的路径是不一样的:
对于eclipse中的Java Application,System.getProperty("user.dir")的值为:E:\MyWorkspace\xiaoyingWebTest【项目路径】;
对于eclipse中的动态web工程,System.getProperty("user.dir")的值为:D:\eclipse【eclipse安装路径】。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询