在jsp和class文件中调用的相对路径不同。
在jsp里,根目录是WebRoot
在class文件中,根目录档知庆是WebRoot/WEB-INF/classes 也可以选用System.getProperty("user.dir")获取工程的绝对路径。
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())).getParent() 结果:D:\resin\webapps\TEST
2.在class类中取得路径:
(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
File f = new File(this.getClass().getResource("").getPath())System.out.println(f)结果:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test
获取当悉明前类的绝对路径;第二种:File directory = new File("")//参数为轿陆桐空
String courseFile = directory.getCanonicalPath()
System.out.println(courseFile)结果:C:\Documents and Settings\Administrator\workspace\projectName
获取当闭坦前类的所在工程路径第三种:URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt")
System.out.println(xmlpath)结果:file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt
获取当前工程src目录下selected.txt文件的路径第四种:System.out.println(System.getProperty("user.dir"))结果:C:\Documents and Settings\Administrator\workspace\projectName
获取当前工程路径第五种:System.out.println( System.getProperty("java.class.path"))结果:C:\Documents and Settings\Administrator\workspace\projectName\bin获取当前工程路径
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)