string filePath = ServerMapPath("D:\tst\tsttx");
参考MSDN
>
String projectPath = thisgetClass()getResource("/")getPath()substring(1)replace() + "Server-Configurationxml";
web应用运行时指向的是你tomcat目录/webapps/应用/web-inf/classes/Server-Configurationxml
望采纳!
注意,如projectPath中空格的经过base64编码转换后变成了"%20",你还得replace("%20" , " ")。
以工程名为/DemoWeb为例:
访问的jsp为:>
思路:在JSP页面中使用request内置对象,requestgetServletContext()getContextPath()获取路径。
代码如下:
很多朋友都想了解java如何获取当前项目的路径?下面就一起来了解一下吧~
在jsp和class文件中调用的相对路径不同。
在jsp里,根目录是WebRoot
在class文件中,根目录是WebRoot/WEB-INF/classes 也可以选用SystemgetProperty("userdir")获取工程的绝对路径。
1jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:requestgetRequestURI() 结果:/TEST/testjsp (2)得到工程名:requestgetContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:requestgetServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/testjsp (4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp") 结果:D:\resin\webapps\TEST\testjsp (5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent(); 结果:D:\resin\webapps\TEST
2在class类中取得路径:
(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath() 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路径:SystemgetProperty("userdir") 结果:D:\TEST
3在Servlet中取得路径: (1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。 结果:E:\Tomcat\webapps\TEST (2)得到IE地址栏地址:requestgetRequestURL() 结果:>
FileReader fr = new FileReader(JdbcToolsclassgetClassLoadergetResourceAsStream("conf/WaterConfigproperties"));
首先得到ServletContext对象(jsp中的application)
其次得到WEB项目的的真实路径
String add=applicationgetRealPath("/"); super指得是GenericServlet类
最后,可以得到任意一个网站文件的地址:
add+requestgetServletPath();
以上就是关于如何在web页面获取文件绝对路径全部的内容,包括:如何在web页面获取文件绝对路径、在java web项目中,如何获取项目的绝对路径(考虑到后期移植不能写死),大神帮忙!、java web工程普通java类获得当前项目的工程路径读取xml文件,路径会被定位到tomcat安装路路径的bin下面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)