- String path = Struts2Util.getServletContext().getRealPath("/");
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme() + "://"
- + request.getServerName() + ":" + request.getServerPort()
- + path + "/";
- %>
一、方法一
(1)、request.getRealPath("/");//不推荐使用获取工程的根路径
(2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用
(3)、request.getSession().getServletContext().getRealPath("/");//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用
(4)、类的绝对路径:Class.class.getClass().getResource("/").getPath()
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
this.getClass().getClassLoader().getResource("").getPath();//获取工程classes下的路径,这个方法可以在任意jsp,servlet,java文件中使用,因为不管是jsp,servlet其实都是java程序,都是一个class。所以它应该是一个通用的方法。
(5)、tomcat下获得绝对路径
- private String projectName="sz_pro"; //你项目的名称(File.separator)
-
- //获取当前项目的绝对路径(Linux不适用)
- 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;
- //判断是否有后缀
- if(!"/".equals(tempdir.substring(tempdir.length()))){
- tempdir += File.separator;
- }
- return tempdir;
- }
//另外还有一个方法可以用来获取类的绝对路径(当前的classpath)windows,linux都可以