java获得项目绝对路径
在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.在类中取得路径:
(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
另,Class类还有一个getResourceAsStream方法,记得以前有个项目要读取在同一个包内的一个xml,就用的这个。
1.如何获得当前文件路径
常用:
(1).Test.class.getResource("")
得到的是当前类FileTest.class文件的URI目录。不包括自己!
(2).Test.class.getResource("/")
得到的是当前的classpath的绝对URI。
(3).Thread.currentThread().getContextClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI。
(4).Test.class.getClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI。
(5).ClassLoader.getSystemResource("")
得到的也是当前ClassPath的绝对URI。
尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径,后面可以看出得出结果五花八门。
(6) new File("").getAbsolutePath()也可用。
注:若这些路径中出现空格,并且空格被%20代替,则可以使用path = java.NET.URLDecoder.decode(path,"utf-8") 进行转化;
2.Web服务器
(1).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(2).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成Servlet的路径为根.比如用新建文件法测试File f = new File("a.htm");
这个a.htm在resin的安装目录下
(3).如何读文件
使用ServletContext.getResourceAsStream()就可以
(4).获得文件真实路径
String file_real_path=ServletContext.getRealPath("mypath/filename");
不建议使用request.getRealPath("/");
(转载自:http://blog.csdn.net/rogerjava/article/details/7568466)
转载于:https://www.cnblogs.com/JAVA-STUDYER/p/7094687.html
java获得项目绝对路径相关推荐
- 项目在服务器的绝对路径,java获得项目绝对路径
在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...
- JAVA一个项目的路径为_java 得到项目路径
一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProper ...
- java获取项目绝对路径_如何获取项目绝对路径?
展开全部 用Jsp获取.用Java类获取或用servlet获取项目绝对32313133353236313431303231363533e4b893e5b19e31333363396465路径. 一.用 ...
- java web项目 相对路径怎么写_理解JavaWeb项目中的路径问题——相对路径与绝对路径...
背景:html 在刚开始学习javaweb,使用servlet和jsp开发web项目的过程当中,一直有一个问题困扰着我:servlet 和 jsp 之间相互跳转,跳转的路径应该如何书写,才能正确的访问 ...
- java 取项目根路径_java中如何获取项目的路径
记录是为了更好的成长! 1.ssm项目中 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到 ...
- java获取项目根路径通用方法
windows或linux系统通用,包含常用的三个方法. package com.home.util;import java.io.File;/*** 获取项目的根路径* 在windows和linux ...
- java获取图片相对路径_相对路径和绝对路径的区别,java获取项目访问路径的方法...
相对路径和绝对路径的区别 在HTML里只要涉及文件的地方(如超级链接.图片等)就会涉及绝对路径与相对路径的概念.1.绝对路径 绝对路径是指文件在硬盘上真正存在的路径.例如"bg.jpg&qu ...
- java : enum、创建文件和文件夹、删除文件和文件夹、获得项目绝对路径、写入数据到excel中、java代码中两种路径符号写法、读取、写入text文件...
java : enum http://www.cnblogs.com/hyl8218/p/5088287.html 创建文件和文件夹.删除文件和文件夹 http://www.cnblogs.com/m ...
- java 访问路径_java获取项目访问路径的相关方法
java获取项目访问路径的相关方法 刘振兴 代码分享 2016年02月11日 6292 暂无评论 在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中 ...
最新文章
- SSH框架整合实现Java三层架构实例(一)
- 利用正则匹配数字后边的字符_图解正则——字符匹配
- 接口的特点 java 1614101071
- MySQL压缩包安装,MySQL8和MySQL5安装,端口3306和3307
- MTK 驱动开发(23)---MTK camera AF 及tuning
- 2字节取值范围_C语言整数的取值范围以及数值溢出
- php socket 超时设置
- 使用modscan32工具踩的坑
- php搜索功能与jquery搜索功能,JavaScript_基于jQuery实现页面搜索功能,jQuery实现页面搜索,搜索筛选 - phpStudy...
- AHP(层次分析法)学习笔记及多层权重Python实践
- 腾讯元老辞职后,回到老家每天对着200亩地发呆
- Android碎片化问题
- 易桌面打印室一般多久能到,易桌面打印室怎么用
- 我的微信公众号开通了!
- 两个瓶子水怎样一样多_大班科学领域数学活动 | 一样多的水(容积守恒)
- H5调用移动端手机摄像头
- Fama-French三因子模型
- extern volatile struct GPIO_DATA_REGS GpioDataRegs什么意思
- 孙宇晨再落一子,APENFT和WINkLink要携手布局GameFi了?
- 互点流量,互刷排名,刷下拉刷联想-胖虎图图-互动点击系统