如何获取tomcat下的webapps的绝对路径呢

2024年11月18日 08:47
有4个网友回答
网友(1):

import java.io.File;
public class MainTest {
public static void main(String[] args) {
//获取是项目的绝对路径
System.out.println(System.getProperty("user.dir"));
System.out.println(new File("").getAbsolutePath());
//获取到clsspath绝对路径
System.out.println(MainTest.class.getResource("/"));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
System.out.println(Test.class.getClassLoader().getResource(""));
}
}

前提是,你项目要部署到D:\tool\apache-tomcat-6.0.20\webapps下!

建议你根据具体需求选择适合的方法!


有问题再追问,good luck!

网友(2):

你可以在先获取后存储到request或者session中。,然后在jsp中使用el去取。
//项目路径
String path = request.getSession().getServletContext().getRealPath("");
request.setAttribute("path",path);

jsp:

${path}

网友(3):

//获取当前项目的绝对路径

public String getPorjectPath(){

String nowpath; //当前tomcat的bin目录的路径 如 D:\java\software\apache-tomcat-6.0.14\bin

String tempdir;

nowpath=System.getProperty("user.dir");

tempdir=nowpath.replace("bin", "webapps"); //把bin 文件夹变到 webapps文件里面

tempdir+="\\"+projectName; //拼成D:\java\software\apache-tomcat-6.0.14\webapps\sz_pro

return tempdir;

}

网友(4):

(HttpServletRequest) ActionContext.getContext().get(
ServletActionContext.HTTP_REQUEST)).getRealPath("/"))
.getParent()