基于从request获取各种路径的方法介绍
equest.getRealPath() 这个方法已经不推荐使用了,代替方法是: request.getSession().getServletContext().getRealPath() 在servlet里用this.getServletContect().getRealPath() 在struts里用this.getServlet().getServletContext().getRealPath() 在Action里用ServletActionContext.getRequest().getRealPath(); 以上三个获得都是当前运行文件在服务器上的绝对路径
从request获取各种路径总结 request.getRealPath("url"); // 虚拟目录映射为实际目录 request.getRealPath("./"); // 网页所在的目录 request.getRealPath("../"); // 网页所在目录的上一层目录 request.getContextPath(); // 应用的web目录的名称 如http://localhost:7001/bookStore/ /bookStore/ => [contextPath] (request.getContextPath()) 获取Web项目的全路径 String strDirPath = request.getSession().getServletContext().getRealPath("/"); 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:request.getServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 结果:D:resinwebappsTESTtest.jsp (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 结果:D:resinwebappsTEST 2.在类中取得路径: (1)类的绝对路径:Class.class.getClass().getResource("/").getPath() (2)得到工程的路径:System.getProperty("user.dir") 3.在Servlet中取得路径: (1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。 结果:E:TomcatwebappsTEST (2)得到IE地址栏地址:request.getRequestURL() 结果:http://localhost:8080/TEST/test (3)得到相对地址:request.getRequestURI() 结果:/TEST/test (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |