在中获得文件的绝对路牛

电子产品制造设备2021年09月06日

在以下例子中,使用 Eclipse+MyEclipse 开发环境中,Access 数据库文件 (b) 被放置在了 WebRoot 目录下的 data 子目录中,部署到 Tomcat 后仍与 WEB-INF 目录同级,如下示意图:

==============================================

Tomcat

-webapps

-你的应用目录

-data

b

-WEB-INF

==============================================

由于采用了 Access 数据库,数据库文件的绝对路径是获取数据库连接时的关键参数,而本例中又同时采用了 JSF 框架,JSF 页面调用 JavaBean 中的方法时与普通 JSP 页面不同,要想将 request 对象直接传递到 JavaBean 的相关方法中来获取站点路径是比较麻烦的。前后思索想到一个笨方法,可以直接在获取连接的方法中获得路径,无需从 JSF 页面获取参数。代码如下:

publicstaticConnectiongetConnection()...{

//获得当前JSF上下文环境

FacesContextcontext=tCurrentInstance();

//获得FacesContext的Application对象

这支中超队开价700万美元 Applicationapplication=tApplication();

//获得classes目录的绝对路径

URLclassesUrl=tClass().getResource(\"/\");

//获得数据库文件的绝对路径

Stringdbpath=String()+\"../../data/b\";

//截去URL前端文件访问协议

dbpath=bstring(6);

Stringurl=\"jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ=\"

+dbpath;

Connectionconn=null;

try...{

rName(\"bcOdbcDriver\");

conn=tConnection(url,\"\",\"\");

}catch(Exceptionex)...{

intStackTrace();

}

returnconn;

}

代码中的 URL classesUrl = tClass().getResource(\"/\"); 获得的是类的根 URL,即 WEB-INF\\classes 的 URL,所以根据本例中 b 的位置,需要加上 \"../../data/b\" 来定位数据库文件,然后截取子字符串,去掉 URL 中的协议头。最终得到 Access 数据库文件在服务器上的绝对路径。

大庆治疗白癜风的医院
贵阳男性功能障碍哪家好
新必奇蒙脱石散和思密达的区别是什么
相关阅读
玩闹无底线?同学聚会上,“已婚男女”深情接吻,女子羞涩遮住书上

健全是自尊的根本,自尊是自由的保障,这一切源于反思,找伴侣,一个人的...

2024-07-23
浙江污泥低温干化器材,三个月回本,电镀污泥低温干化器材-广东威凌菲斯

常温泥浆干化机在实际上干化作业处理过程中不会造成了大量的烟气、粉尘等...

2023-11-12
选校季到了,这所小学值得你信赖

昆明官衙技术学院学校,座落绵阳双流区4A级主题乐园国色天乡,学校是由西...

2023-10-31
你说是因为你对我的爱教化了我

你却说是因为你对我的真爱感化了我,使我能这样同在的真爱你,能这样一点...

2023-10-23
历时90个小时,江门中路方舱医院交付使用

中新网天津4年初18日电 (李秋莹 李德)4年初18日凌晨,坐落于天津市杨浦区区...

2023-10-22
假如菜鸟驿站,一天有500个快递,转让费6.5万能交由吗?

送货仍然成为了我们日常生活之前最极为重要的一部分,虽然有人时会说道这...

2023-10-21
友情链接