jsp内获取java web中文件路径

jsp项目组织结构图如上所示:
我在index.jsp中想获取GfpVerifyWell.dll的绝对路径。用了几种方法
1) application.getResource("GfpVerifyWell.dll");结果:null
2) application.getRealPath("GfpVerifyWell.dll");结果:*****\testreloadlibrary1\GfpVerifyWell.dll
“ ***** “是项目绝对路径,testreloadlibrary1是项目根路径,下同
3) servletContext.getresource("GfpVerifyWell.dll")结果null
4) servletContext.getresource("GfpVerifyWell.dll")结果*****\testreloadlibrary1\GfpVerifyWell.dll
但GfpVerifyWell.dll文件确实存在项目中,而且,它的路径是******\testreloadlibrary1\WEB-INF\lib\GfpVerifyWell.dll,2、4方法中得出的结果只停滞在了根目录下,没有进去继续搜索。请问这四种方法为什么得出那种结果

思路:在JSP页面中使用request内置对象,request.getServletContext().getContextPath()获取路径。

代码如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-26
只能得到根目录下的路径,绝对路径可以通过classloader获取再拼接相对路径追问

只能拼接不能直接获取,您确定?

追答

String path=Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(1);
System.out.println(path);
获取到的是 D:/apache-tomcat-6.0.30/webapps/Test/WEB-INF/classes/ 路径
之后你自己处理就可以了

本回答被提问者采纳
相似回答