文档章节

获取JAVA[WEB]项目有关路径的几种方法

风软
 风软
发布于 2014/05/30 10:32
字数 480
阅读 55
收藏 0

在jsp和class文件中调用的相对路径不同。 在jsp里根目录是WebRoot ,在class文件中根目录是WebRoot/WEB-INF/classes , 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。
另:在Jsp,Servlet,Java中详细获得路径的方法!
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)类的绝对路径:String u=Class.class.getClass().getResource("/").getPath() 
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ 

  //str会得到这个函数所在类的路径 String str = u.toString(); //截去一些前面6个无用的字符 str=str.substring(6,str.length()); //将%20换成空格(如果文件夹的名称带有空格的话,会在取得的字符串上变成%20) str=str.replaceAll("%20", " "); //查找“WEB-INF”在该字符串的位置 int num = str.indexOf("WEB-INF"); //截取即可 str=str.substring(0, num+"WEB-INF".length());




(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


本文转载自:http://www.educity.cn/wenda/147447.html

共有 人打赏支持
风软
粉丝 0
博文 1
码字总数 0
作品 0
福州
项目经理
Java 相对路径与绝对路径的问题

在写java程序时不可避免要获取文件的路径…总结一下,遗漏的随时补上 1.可以在servlet的init方法里 String path = getServletContext()。getRealPath("/"); 这将获取web项目的全路径 例...

风一样
2011/08/03
0
0
获取绝对路径 去除路径的% 空格问题

class 类: public static String getBasePath() { String savaPath = ""; savaPath = 类.class.getRecource("").getPath(); int i = savaPath.lastIndexOf("WEB-INF"); savaPath = savaPat......

Mr&Cheng
2013/01/20
0
0
JAVA文件中获取路径及WEB应用程序获取路径方法

基本概念的理解 :你应用上的文件或目录在硬盘上真正的路径,如:URL、物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径; http://www.sun.com/index.htm也代表了一个URL绝对路...

陶邦仁
2012/10/25
0
1
解析:用SAAJ解决SOA集成问题

面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,...

晨曦之光
2012/03/09
0
0
关于Java对相对目录的文件读写和调用方法的一些总结

关于Java对相对目录的文件读写和调用方法的一些总结 首先要讲Java路径 Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种: 1.本地系统的绝对路径: 如: windows: C:a...

蔡熙伟
2011/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea新建springCloud项目(5)- 订单服务

1.创建订单api,如下: 2.创建订单实现逻辑 3.新建订单、订单商品表 -- 订单 create table `order_master` ( `order_id` varchar(32) not null, `buyer_name` varchar(32) not null comment......

monroeCode
10分钟前
0
0
游戏开发经验谈(二):对战类全球服游戏的设计与实现

上篇文章《游戏开发经验谈(一):游戏架构里隐藏的五个坑及其应对方案》,我们主要讲解了游戏架构设计当中隐藏的一些坑及其应对方案,错过的小伙伴可以回溯之前的内容。本期内容,将会重点介...

UCloudTech
20分钟前
0
0
Mysql基本语法

一.联合主键 drop table CONTENT_AND_CATALOG;CREATE TABLE `tobebetter`.`CONTENT_AND_CATALOG` ( `ID` VARCHAR(120) NOT NULL , `CONTENT_ID` VARCHAR(120) , `CA......

我是菜鸟我骄傲
21分钟前
0
0
179. centos7 安装mariadb

1. centos7 中安装mariadb 1.1 执行安装 centos7 自带了mariadb yum -y install mariadb mariadb-server 1.2 启动mariadb systemctl start mariadb 1.3 设置开机启动 systemctl enable maria......

Lucky_Me
28分钟前
0
0
【AI实战】动手训练自己的目标检测模型(YOLO篇)

在前面的文章中,已经介绍了基于SSD使用自己的数据训练目标检测模型(见文章:手把手教你训练自己的目标检测模型),本文将基于另一个目标检测模型YOLO,介绍如何使用自己的数据进行训练。 ...

雪饼
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部