java web项目自定义配置文件路径

在java web项目中添加配置文件,满足数据库配置参数以及其他自定义参数存放,可自己写一个配置文件**.properties,把项目所需的自定义配置信息以名值对的形式写入文件。把它放到项目的源文件包src下,部署时IDE会自动将其复制到相应路径。

java web项目未开启服务(有没有部署到tomcat中一样)使用this.getClass().getResource("/")得到Url对象,打印如下:
file:/F:/zgh/myworkspace/collection/WebRoot/WEB-INF/classes/

此路径为java web项目源路径。

部署到tomcat中的java web项目开启服务后使用this.getClass().getResource("/")得到Url对象,打印如下:
file:/F:/zgh/software/apache-tomcat-6.0.14/webapps/collection/WEB-INF/classes/

然后调用toString().substring(5)获得绝对路径的前半部分,加上相对路径,如
conf/send.properties

拼接成配置文件的绝对路径:
/F:/zgh/software/apache-tomcat-6.0.14/webapps/collection/WEB-INF/classes/conf/send.properties


java application项目使用this.getClass().getResource("/")得到Url对象,打印如下:
file:/F:/zgh/myworkspace/javaeye/bin/

此路径为java application项目的class文件的根路径。


注意:未开启tomcat web服务时打印的不是上面的路径,是你的项目源文件的classes路径。


在Servlet中获取项目的根路径:
下面是Struts2的获取方法,获取的是项目根目录下的“uploadsrc”的绝对路径,不过已经标示过时了。
import org.apache.struts2.ServletActionContext;
String realPath=ServletActionContext.getRequest().getRealPath("/uploadsrc").replaceAll("\\\\", "/");

下面这个是HttpServletRequest对象的获取项目路径,未标示为过时。在Windows 系统获取的是该系统的路径符,与linux的不一样,可以将分割符替换成“/”就行了。
import javax.servlet.http.HttpServletRequest;
request.getSession().getServletContext().getRealPath("/");




你可能感兴趣的:(java,apache,tomcat,Web,F#)