获得虚拟服务器相对路径,在web应用中获取相对路径和绝对路径
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()也可用。
注:若这些路径中出现空格,并且空格被 代替,则可以使用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("/");
最常碰到的问题是,接手没有文档的项目,怎么梳理业务逻辑关系,代码关系?
起起服务,从页面上跑一条业务,同时后台跟踪走过的代码,跟踪数据库,跟踪数据走向,跟踪页面。
梳理整理业务逻辑,整理代码走向,整理数据走向,表间关系。
通过上面的方式,慢慢的熟悉系统。
标签:web,路径,request,绝对路径,相对路径,得到,TEST,jsp,页面
来源: https://www.cnblogs.com/wzdnwyyu/p/11169133.html
获得虚拟服务器相对路径,在web应用中获取相对路径和绝对路径相关推荐
- java css路径_java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?...
---------------------------------------------------------------------------------------------------- ...
- IOS中获取各个文件的目录路径的方法和NSFileManager类
转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永 ...
- Shell中获取当前脚本的绝对路径: $( cd “$( dirname “${BASH_SOURCE[0]}“ )“ pwd)
Shell中获取当前脚本的绝对路径: $( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd) 参考链 ...
- Java在WEB项目中获取文件路径
2019独角兽企业重金招聘Python工程师标准>>> jsp中获得文件路径 1.根目录所对应的绝对路径:request.getRequestURI(): 2.文件的绝对路径:app ...
- 让Web项目中Velocity的#parse支持相对路径
下面这个宏可以让你在web项目中使用相对路径来包含其他的模板文件 #macro(invoke $page) #if($page.startsWith("/")) ...
- vba不能提取服务器上文件名,从全路径文件名中获取文件名(不含路径)
从全路径文件名中获取文件名(不含路径) 方法一: Public Function gf_GetFileName(strFullPath As String) As String Dim splitLi ...
- java获取当前项目相对路径,在JAVA文件中获取该项目的相对路径
在JAVA文件中获取该项目的相对路径 1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.t ...
- 使用nginx后如何在web应用中获取用户ip及原理解释
http://www.iteye.com/topic/1124492 问题背景: 在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断,或者统计ip访问次数等,通常情况下我们使用requ ...
- magento block 程序中获取各种url及绝对路径的方法
magento block 程序中获取各种url的方法 Mage::getBaseUrl('media') //可获得 media 带 http 的url 地址.//同理也可以获得skin 和js 目 ...
最新文章
- 具体解释Hibernate中的事务
- c#listView
- 存储引擎之必知必会 -- 检查点机制
- easyui中combobox 验证输入的值必须为选项框中的数据
- OpenVINO 从yml处提取model下载链接,以mobile-ssd为例
- 大型打脸现场!被藐视的少女摇身一变成为“抽象代数之母”,哲学教授只能跪地喊爸爸...
- Oracle为JDK 8寻求社区参与
- MapReduce:Job性能调优总结
- hadoop应用开发技术..._Hadoop
- HDU 5934:Bomb(强连通缩点)
- 【渝粤教育】国家开放大学2018年春季 4990T电子商务概论(农) 参考试题
- ps cs6导出html,渲染视频使用不了是怎么回事?pscs6ex – 手机爱问
- [MapReduce_8] MapReduce 中的自定义分区实现
- 微星小飞机界面翻译_小巧高效翻译软件Xtranslator的正确使用姿势
- layer使用心得3
- java is alphabetic_Unicode字符类\p{IsAlphabetic}
- 竞赛最好用的平衡树-Size Balanced Tree(SBT)【建议收藏】
- Access数据类型和SQL数据类型
- 网站常见的攻击与防护
- iis7 php 403,详解Nginx 出现 403 Forbidden 的解决办法
热门文章
- Cell Reports:张瑞福团队揭示抗生素调控微生物肥料菌种根表定殖成膜的新机制...
- NBT:超高速细菌基因组检索技术
- 病毒入侵的故事—BBC细胞的暗战The Hidden Life of the Cell
- R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用rotate参数指定进行斜交旋转提取因子、使用fa.diagram函数可视化斜交旋转因子分析、并解读可视化图形
- python使用numpy包编写自定义函数计算MAPE(平均绝对百分比误差)指标mean absolute percentage error (MAPE)、MAPE指标解读、MAPE指标使用的注意事项
- R语言ggplot2可视化绘制多条基本线图(Basic line plot)、使用gghighlight包突出高亮其中的某一条线图(highlight line plot)
- R语言dplyr包获取dataframe分组聚合汇总统计值实战(group_by() and summarize() ):均值、中位数、分位数、IQR、MAD、count、unique
- 时间序列、时间序列分析、时间序列效应分解、平稳时间序列、AIC和BIC
- Linux软件安装 conda
- 原核生物基因组三代数据(pacbio/nanopore)组装