




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于java和web工程项目中各种路径的获取总参考网络文章整理1. 获取web服务器项目的真实物理路径Java代码1. request.getSession().getServletContext().getRealPath("/");2. 相对路径的获得说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的 java 项 目还是 web项目)Java代码1. String relativelyPath=System.getProperty("user.dir" );上述相对路径中,java项目中的文件是相对于项目的根目录web项目中
2、的文件路径视不同的 web服务器不同而不同(tomcat是相对于 tomcat 安装目录bin)3. 类加载目录的获得(即当运行时某一类时获得其装载目录)3.1. 通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)Java代码1. InputStream is=TestAction.class .getClassLoader().getResourceAsStream("test.txt");(test.txt文件的路径为项目名srctest.txt;类TestAction所在包的第一级目录位于src目录下)上式中将TestAction
3、,test.txt替换成对应成相应的类名和文件名字即可3.2. 通用方法二(此方法和1.1中的方法类似,不同的是此方法必须以'/'开头)In putStream is=Test1.class.getResourceAsStream("/test.txt");(test.txt文件的路径为项目名srctest.txt,类Test1所在包的第一级目录位 于src目录下)4. web项目根目录的获得(发布之后)4.1. 从 servlet 出发可建立一个servlet在其的init方法中写入如下语句1. ServletContext s1= this .getSe
4、rvletContext();2. String temp=s1.getRealPath("/");(关键)结果形如:工具Tomcat-6.0webapps002_ext (002_ext 为项目名字)如果是调用了 s1.getRealPath("")则输出 工具Tomcat-6.0webapps002_ext(少了一个"")4.2. 从 httpServletRequest 出发Java代码1. String cp11111=request.getSession().getServletContext().getRealPath(&
5、quot;/");结果形如工具 Tomcat-6.0webapps002_ext5. classpath 的获取(在Eclipse中为获得src或者classes目录的路径)5.1. 方法一Java代码1.Thread.currentThread().getContextClassLoader().getResource("").getPath();2.eg:3.String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();4.System.o
6、ut.println("t-"+t);输出:t-/E:/order/002_ext/WebRoot/WEB-INF/classes/5.2. 方法二Java代码1. JdomParse. class .getClassLoader().getResource("" ).getPath() (JdomParse 为 src 某一个包中的类,下同)2. eg:3. String p1=JdomParse. class .getClassLoader().getResource("" ).getPath();4. System.out.pr
7、intln( "JdomParse.class.getClassLoader().getResource-"+p1);输出:JdomParse.class.getClassLoader().getResource-/E:/order/002_ext/WebRoot/ WEB-INF/classes/另外,如果想把文件放在某一包中,则可以通过以下方式获得到文件(先定位到该 包的最后一级目录)egJava代码1. String p2=JdomParse. class .getResource( "" ).getPath();2. System.out.pri
8、ntln( "JdomParse.class.getResource-"+p2);输出:JdomParse.class.getResource-/E:/order/002_ext/WebRoot/WEB-INF/classe s/jdom/(JdomParse 为 src目录下 jdom 包中的类)在jsp和class文件中调用的相对路径不同。在jsp里,根目录是 WebRoot在class文件中,根目录是 WebRoot/WEB-INF/classes当然你也可以用System.getProperty("user.dir") 获取你工程的绝对路径。6.
9、 在Jsp,Servlet,Java中详细获得路径的方法6.1. jsp中取得路径:以工程名为TEST为例:(1) 得到包含工程名的当前页面全路径:Java代码1. request.getRequestURI()结果:/TEST/test.jsp(2) 得到工程名:Java代码1. request.getContextPath()结果:/TEST(3) 得到当前页面所在目录下全名称:Java代码1. request.getServletPath()结果:如果页面在jsp目录下/TEST/jsp/test.jsp(4) 得到页面所在服务器的全路径:Java代码1. application.get
10、RealPath("页面.jsp")结果:D:resinwebappsTESTtest.jsp(5) 得到页面所在服务器的绝对路径:Java代码1. absPath= new java.io.File(application.getRealPath(request.getRequestURI().g etParent();结果:D:resinwebappsTEST6.2. 在类中取得路径:(1)类的绝对路径:Class.class.getClass().getResource("/").getPath() 结果:/D:/TEST/WebRoot/WEB-
11、INF/classes/pack/得到工程的路径:1. System.getProperty( "user.dir" )结果:D:TEST63在Servlet中取得路径:(1) 得到工程目录:Java代码1. request.getSession().getServletContext().getRealPath("”);参数可具体到包名。结果:E:TomcatwebappsTEST(2) 得到IE地址栏地址:Java代码1. request.getRequestURL()结果:http:/localhost:8080/TEST/test得到相对地址:Java代码
12、1. request.getRequestURI()结果:/TEST/test以工程名为/DemoWeb为例:访问的 jsp 为:http:/localhost:8080/DemoWeb/test/index.jsp1 JSP中获得当前应用的相对路径和绝对路径(1)得到工程名:request.getCo ntextPath()结果:/DemoWeb得到包含工程名的当前页面全路径:request.getRequestURI()结果:/DemoWeb/test/testpath.jsp得到 IE 地址栏地址:request.getRequestURL()结果:http:/localhost:808
13、0/DemoWeb/test/testpath.jsp得到当前页面所在目录下全名称:request.getServletPath() 结果:/test/testpath.jspJava代码(5)得到页面所在服务器的全路径(实际的路径):applicatio n.getRealPath("testpath.jsp")结果:D:DevelopFilesapache-tomcat-5.5.15apache-tomcat-5.5.15webappsDemoWebtestpath.jspD:Develop Filesapache-tomcat-5.5.15apache-tomcat-
14、5.5.15 为 tomcat 的安装路径2.java的Class中获得相对路径,绝对路径的方法(1)类的绝对路径:System.out.pri ntl n( TestPath.class.getResource("/").getPath();结果:/E:/workspace/workspace_tcc/DemoWeb/WebRoot/WEB-INF/classes/System.out.pri ntl n( TestPath.class.getResource("");结果:file:/E:/workspace/workspace_tcc/DemoWe
15、b/WebRoot/WEB-INF/classes/demo1/得到工程的路径:System.getProperty("user.dir")结果:E:workspaceworkspace_tccDemoWebimport .URL;public class A2 public static void main(String args)try String t=A2.class.getResource("a.txt").getPath();System.out.println("t-"+t);/ URL fn=A2.class.getR
16、esource("a.txt");/ String fn1=fn.toString();/ System.out.print(fn1);BufferedReader br = new BufferedReader(new FileReader(t);/ 读取路径文件 String str = ""/ 定义空串while(str=br.readLine()!=null) / 非空,则读一行 System.out.println(str);/ 输出读取的一行数据int a = str.indexOf(" "); /String newStr = str.substring(a);String arryStr = newStr.split(" ");String result = new String3;int flag = 0;for(int i=0;i<arryStr.length;i+)if(flag=3) break; if(!arryStri.trim().equals("") resultflag=arryStri; flag +;for(String s :result) System.out.println
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年皖南医学院第二附属医院招聘编外28人模拟试卷有答案详解
- 2025广西梧州市公安局第二批招聘警务辅助人员160人模拟试卷(含答案详解)
- 2025福建漳州市南靖县南坑镇民政服务站招聘社工1人考前自测高频考点模拟试题有完整答案详解
- 2025年河北承德医学院附属医院招聘技师岗工作人员7名模拟试卷及答案详解(各地真题)
- 2025河北省地理集团有限公司实习岗招聘30人考前自测高频考点模拟试题及答案详解(新)
- 冬季预防知识培训总结课件
- 2025菏泽曹县教育系统公开招聘初级岗位教师(166人)模拟试卷及答案详解(考点梳理)
- 2025北京市环科院编制外人员招聘6人模拟试卷及答案详解(易错题)
- 2025江苏连云港市赣榆农业发展集团有限公司及下属子公司招聘设备工程师岗(A36)技能考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025吉林长春中医药大学附属第三临床医院招聘院前急救人员6人模拟试卷及答案详解(各地真题)
- GB/T 4706.23-2024家用和类似用途电器的安全第23部分:室内加热器的特殊要求
- 新部编版语文1-6年级2460个生字表(带拼音)
- (高清版)DZT 0399-2022 矿山资源储量管理规范
- 卫生监督员行为规范
- 深圳电子行业前景分析
- 内窥镜检查病历委托书
- 70篇短文复习1600中考词汇
- 小学计算机兴趣小组活动记录
- SCR烟气脱硝装置声波清灰技术的研究的开题报告
- 煤矿班组建设课件
- CB/T 495-1995吸入口
评论
0/150
提交评论