jsp
和
class
文件中调用的相对路径不同。
在
jsp
里,根目录是
WebRoot
在
class
文件中,根目录是
WebRoot/WEB-INF/classes
当然你也可以用
System.getProperty("user.dir")
获取你工程的绝对路径。
另
:
在
Jsp,Servlet,Java
中详细获得路径的方法
!
1.jsp
中取得路径:
以工程名为
TEST
为例:
(1)
得到包含工程名的当前页面全路径:
request.getRequestURI()
结果:
/TEST/test.jsp
(2)
得到工程名:
request.getContextPath()
结果:
/TEST
(3)
得到当前页面所在目录下全名称:
request.getServletPath()
结果:如果页面在
jsp
目录下
/TEST/jsp/test.jsp
(4)
得到页面所在服务器的全路径:
application.getRealPath("
页面
.jsp")
结果:
D:\resin\webapps\TEST\test.jsp
(5)
得到页面所在服务器的绝对路径:
absPath=new
java.io.File(application.getRealPath(request.getRequestURI())).getPar
ent();
结果:
D:\resin\webapps\TEST
2.
在类中取得路径:
(1)
类的绝对路径:
Class.class.getClass().getResource("/").getPath()
结果:
/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)
得到工程的路径:
System.getProperty("user.dir")
结果:
D:\TEST
3.
在
Servlet
中取得路径:
(1)
得到工程目录:
request.getSession().getServletContext().getRealPath("")
参数可具体到
包名。
结果:
E:\Tomcat\webapps\TEST
(2)
得到
IE
地址栏地址:
request.getRequestURL()
结果:
http://localhost:8080/TEST/test
(3)
得到相对地址:
request.getRequestURI()
结果:
/TEST/test