java web中各种路径的问题

绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:

C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。

相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在

Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。

获取路径的方法

private static Properties
p;

static {

p = new Properties();

try {

p.load(Thread.currentThread().getContextClassLoader()

.getResourceAsStream("config.properties"));

} catch (IOException e) {

throw new RuntimeException(e.getMessage());

}

}

String namePath = p.getProperty("filter.library.name");

if (namePath.contains("classpath:")) {

namePath = namePath.replace("classpath:",

getClass().getResource("/").getPath());

}

try {

File f = new File(namePath);

if (!f.exists()) {

throw new FileNotFoundException();

}

BufferedWriter output = new BufferedWriter(new OutputStreamWriter(

new FileOutputStream(f,
true),
"utf-8")); // true

// 代表不覆盖源文件内容

output.write("," + name);

output.close();

} catch (IOException e) {

e.printStackTrace();

}

}

发布项目后:

1:(spring)

使用Spring,就可以用一种比较优雅的方式来获取了。

web.xml中的<web-app>节点内加入:

<context-param>

<param-name>webAppRootKey</param-name>

<param-value>tansungWeb.root</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.util.WebAppRootListener</listener-class>

</listener>

然后在普通的Java类中(不是action中),就可以通过System.getProperty("tansungWeb.root")获取了web根目录了。

然后再拼凑路径的时候,最好不要直接使用/或者\,最好使用File.separatorChar

System.out.println(System.getProperty("tansungWeb.root"));

D:\software\apache-tomcat-7.0.53-windows-x64\apache-tomcat-7.0.53\webapps\wlzbs-filter\

2:

this.getClass().getClassLoader().getResource("/").getPath();

/D:/software/apache-tomcat-7.0.53-windows-x64/apache-tomcat-7.0.53/webapps/wlzbs-filter/WEB-INF/classes/

3:

this.getClass().getClassLoader().getResource("").getPath();不加/

D:/software/apache-tomcat-7.0.53-windows-x64/apache-tomcat-7.0.53/webapps/wlzbs-filter/WEB-INF/classes/org/ansj/library/

发布没有项目:

所提取的路径都是项目下的路径,上面的方法提取的路径就都不是那样子了。

时间: 2024-11-08 22:37:47

java web中各种路径的问题的相关文章

tomcat 与 java web中url路径的配置以及使用规则详情(长期更新)

首先我们看一下在myeclipse中建立的java web项目的结构 在这里我们需要注意这个webroot也就是我们在tomcat里的webapp里面的应用 之所以每一个项目都有这个webroot,是为了方便在网站项目里操作 都 表示你的web程序的根目录文件夹 所以在...

在Java web中相对路径和绝对路径区别及应用方法(一)

闲来无事,研究了一下bootstrap框架,并把这个框架融入到我开发的一个项目中,在应用过程中发现了一些问题,经过潜心研究这个问题终于解决了,下面我就把整个过程分享给大家. 一.开发环境介绍 开发语言 JDK1.8 IDE ECLIPSE platform 4.6.0 WEB容器 tomcat9 后端框架 Spring+Spring MVC+Spring Data 前端框架 bootstrap3.3.7

在Java web中相对路径和绝对路径区别及应用方法(三)

(续) 三.解决方案 1.针对“现象一”的解决方案 在/OutSourcingManage/WebContent/WEB-INF/dispatcherServlet-servlet.xml文件中加入如下语句: <mvc:default-servlet-handler/> 2.针对“现象二”的解决方案 方法一.在/OutSourcingManage/WebContent/WEB-INF/dispatcherServlet-servlet.xml文件中加入如下语句: <mvc:resourc

在Java web中相对路径和绝对路径区别及应用方法(二)

(续) 二.问题回顾 1.项目说明 2.static.html文件(改成jsp文件也可以) 注意:红色框内容<link rel="stylesheet" href="css/bootstrap.min.css"/>,采用了相对路径 运行效果: 现象一: 现象二: CSS样式表文件没有起作用.查看源代码,点击CSS连接,如下图:

java web中servlet、jsp、html 互相访问的路径问题。

在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可以分两种情况,当然啦两者使用相对路径是一致,本文只说绝对路径. 情况一.指向外部的web组件和本身关系不大的,这一类的有:html中使用路径的标签,比如<a>标签中的href;servlet和jsp中的重定向sendRedirect(path); 情况二.指向内部的web组件和本身有关系的,这一类我暂时看到的有:servlet或者jsp的转发 假设在myapp项目下有

java web中路径问题。

转自:http://blog.csdn.net/liang5630/article/details/38474543 如有侵权,请及时联系本人及时删除 在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可以分两种情况,当然啦两者使用相对路径是一致,本文只说绝对路径. 情况一.指向外部的web组件和本身关系不大的,这一类的有:html中使用路径的标签,比如<a>标签中的href;servlet和jsp中的重定向sendR

CKEditor4 在java web中的应用说明(详细可行)

按照官方的说明书就可,这里主要注意一点!! 就是<script src="../ckeditor.js"></script>中js文件的路径问题,我的ckeditor文件夹是在WebContent文件夹下,jsp文件是同一层目录的,所以最后的代码应该是 <script type="text/javascript"src="./ckeditor/ckeditor.js"></script> 注意斜杆号

JAVA开发中相对路径,绝对路径全面总结

JAVA开发中相对路径,绝对路径全面总结 博客分类: Java综合 JavaJSP应用服务器Servlet网络应用 1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://www.sun.com/index.htm也代表了一个 URL绝对路径. 相对路径:相对与某个基准目录的路径.包含Web的相对路径(HTML中的相对目录),例如:在 Servlet中,"/

java web 中的转发和重定向

假设应用程序的 contextPath 为 /ctx,在 http://localhost:8080/ctx/a/b 资源中,我们转发和重定向到 http://localhost:8080/ctx/x/y 资源,分别应该怎么写? 转发,是在同一个应用程序中,请求从由资源 A 处理,到由资源 B 处理.资源 A 和资源 B 属于同一个应用程序的资源,它们总是相对于该应用程序的 contextPath 而言的.转发的资源可以使用相对路径(不以 "/" 开头)和绝对路径(以 "/&