- 浏览: 239934 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (101)
- js (10)
- java (39)
- HTTP请求:GET与POST方法的区别(转) (1)
- Freemarker 语法规则 (1)
- AJAX级联菜单实例 (1)
- oralce (1)
- myeclipse (5)
- struts (12)
- sql存储过程基础(转) (4)
- JBPM (1)
- mysql (4)
- hibernate (3)
- ibatis (4)
- spring (4)
- 计算机技术 (1)
- nosql (1)
- sqlserver (1)
- servlet (1)
- 拦截器 (1)
- andriod 开发 (1)
- 程序员 (0)
- 多线程 (2)
- Jenkins (1)
- zk (1)
- JPA (2)
最新评论
-
zhangzh888:
怎么下载 啊 都没有看见文件
sftp处理文件 -
wx_hello:
怎么得到文件的属性呢? 比如文件的新建时间
sftp处理文件 -
HappyVeryGood:
“运行时异常(即非受控异常)自动强制执行整个逻辑工作单元的回滚 ...
事物管理,spring事物详解,spring @transactional -
skeely1234:
感谢分享,太帅了
eclipse下修改项目名导致tomcat内发布名不一致的解决方法
1.基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个
URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在
Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,
"../"代表上级目录。这种类似的表示,也是属于相对路径。
另外关于URI,URL,URN等内容,请参考RFC相关文档标准。
RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,
(http://www.ietf.org/rfc/rfc2396.txt)
2.关于JSP/Servlet中的相对路径和绝对路径。
2.1服务器端的地址
服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的
(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)也就是说这时候
在jsp和servlet中的相对地址应该是相对于你的web应用,即相对于http://192.168.0.1/webapp/的。
其用到的地方有:
forward:servlet中的request.getRequestDispatcher(address);这个address是
在服务器端解析的,所以,你要forward到a.jsp应该这么写:
request.getRequestDispatcher(“/user/a.jsp”)这个/相对于当前的web应用webapp,
其绝对地址就是:http://192.168.0.1/webapp/user/a.jsp。
sendRedirect:在jsp中<%response.sendRedirect("/rtccp/user/a.jsp");%>
2.22、客户端的地址
所有的html页面中的相对地址都是相对于服务器根目录(http://192.168.0.1/)的,
而不是(跟目录下的该Web应用的目录)http://192.168.0.1/webapp/的。
Html中的form表单的action属性的地址应该是相对于服务器根目录(http://192.168.0.1/)的,
所以,如果提交到a.jsp为:action="/webapp/user/a.jsp"或action="<%=request.getContextPath()%>"/user/a.jsp;
提交到servlet为actiom="/webapp/handleservlet"
Javascript也是在客户端解析的,所以其相对路径和form表单一样。
因此,一般情况下,在JSP/HTML页面等引用的CSS,Javascript.Action等属性前面最好都加上
<%=request.getContextPath()%>,以确保所引用的文件都属于Web应用中的目录。
另外,应该尽量避免使用类似".","./","../../"等类似的相对该文件位置的相对路径,这样
当文件移动时,很容易出问题。
3. JSP/Servlet中获得当前应用的相对路径和绝对路径
3.1 JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()
3.2 Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath
(request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
(ServletContext对象获得几种方式:
javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()
)
4.java 的Class中获得相对路径,绝对路径的方法
4.1单独的Java类中获得绝对路径
根据java.io.File的Doc文挡,可知:
默认情况下new File("/")代表的目录为:System.getProperty("user.dir")。
一下程序获得执行类的当前路径
package org.cheng.file;
import java.io.File;
public class FileTest {
public static void main(String[] args) throws Exception {
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
System.out.println(FileTest.class.getClassLoader().getResource(""));
System.out.println(ClassLoader.getSystemResource(""));
System.out.println(FileTest.class.getResource(""));
System.out.println(FileTest.class.getResource("/")); //Class文件所在路径
System.out.println(new File("/").getAbsolutePath());
System.out.println(System.getProperty("user.dir"));
}
}
4.2服务器中的Java类获得当前路径(来自网络)
(1).Weblogic
WebApplication的系统文件根目录是你的weblogic安装所在根目录。
例如:如果你的weblogic安装在c:\bea\weblogic700.....
那么,你的文件根路径就是c:\.
所以,有两种方式能够让你访问你的服务器端的文件:
a.使用绝对路径:
比如将你的参数文件放在c:\yourconfig\yourconf.properties,
直接使用 new FileInputStream("yourconfig/yourconf.properties");
b.使用相对路径:
相对路径的根目录就是你的webapplication的根路径,即WEB-INF的上一级目录,将你的参数文件放
在yourwebapp\yourconfig\yourconf.properties,
这样使用:
new FileInputStream("./yourconfig/yourconf.properties");
这两种方式均可,自己选择。
(2).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(3).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成SERVLET
的路径为根.比如用新建文件法测试File f = new File("a.htm");
这个a.htm在resin的安装目录下
(4).如何读相对路径哪?
在Java文件中getResource或getResourceAsStream均可
例:getClass().getResourceAsStream(filePath);//filePath可以是"/filename",这里的/代表web
发布根路径下WEB-INF/classes
默认使用该方法的路径是:WEB-INF/classes。已经在Tomcat中测试。
5.读取文件时的相对路径,避免硬编码和绝对路径的使用。(来自网络)
5.1 采用Spring的DI机制获得文件,避免硬编码。
参考下面的连接内容:
http://www.javajia.net/viewtopic.php?p=90213&
5.2 配置文件的读取
参考下面的连接内容:
http://dev.csdn.net/develop/article/39/39681.shtm
5.3 通过虚拟路径或相对路径读取一个xml文件,避免硬编码
参考下面的连接内容:
http://club.gamvan.com/club/clubPage.jsp?iPage=1&tID=10708&ccID=8
6.Java中文件的常用操作(复制,移动,删除,创建等)(来自网络)
常用 java File 操作类
http://www.easydone.cn/014/200604022353065155.htm
Java文件操作大全(JSP中)
http://www.pconline.com.cn/pcedu/empolder/gj/java/0502/559401.html
java文件操作详解(Java中文网)
http://www.51cto.com/html/2005/1108/10947.htm
JAVA 如何创建\删除\修改\复制目录及文件
http://www.gamvan.com/developer/java/2005/2/264.html
总结:
通过上面内容的使用,可以解决在Web应用服务器端,移动文件,查找文件,复制
删除文件等操作,同时对服务器的相对地址,绝对地址概念更加清晰。
建议参考URI,的RFC标准文挡。同时对Java.io.File. Java.net.URI.等内容了解透彻
对其他方面的理解可以更加深入和透彻。
发表评论
-
习惯的开发错误
2014-09-09 17:25 478在一个包的下面 创建一个test.java 文件 这样一个小 ... -
得到指定年份的所有周末
2014-08-20 18:18 1210/** * 得到指定年份的所有周末 */ publi ... -
对对字符串可能出现报空指针的小问题
2014-04-14 14:42 890今天很是郁闷啊,遇到一个基础的问题比对字符串的两种写法: ... -
Java 单例模式详解(转)
2014-03-26 16:52 831概念: java中单例 ... -
往文件里写入字符串
2014-01-20 13:52 1151package ab; import java.io.Bu ... -
Java数组,去掉重复值、增加、删除数组元素
2014-01-02 14:18 5172import java.util.List; import ... -
java定时器的使用(Timer)
2013-10-14 16:42 2446java定时器的使用(Timer) 2008-02-14 13 ... -
JSch - Java实现的SFTP(文件上传详解篇)(转)
2013-10-14 16:40 3445JSch是Java Secure Channel的缩写。JSc ... -
jvm
2013-09-30 15:03 774网上看到一位javaeye的同志写的文章,感觉总结的比较好,虽 ... -
sftp处理文件
2013-09-30 15:02 8110最近工作涉及sftp处理文件,写了个工具类,代码已经测试。请需 ... -
java BigDecimal的使用和四舍五入及格式规范(精准数据)
2013-06-17 15:37 21579• Java中的简单浮点数类型float和double不能够进 ... -
servlet拦截器代码
2013-03-29 13:45 22521- 实现Servlet.Filter接口 public cl ... -
session 超时的时间设置
2013-03-22 14:47 979为单个Web应用 配置超时时间可以在web.xml中使用< ... -
Calendar 获取日期
2013-01-23 10:44 1336Calendar 获取日期 如果想得到某个星期几是什么日期, ... -
JAVA帮助文档全系列
2013-01-05 11:02 0JAVA帮助文档全系列 JDK1.5 JDK1.6 JD ... -
Cannot create a server using the selected type
2012-08-27 11:02 0eclipse中安装tomcat服务器,报错" Ca ... -
线程池(jdk实现)
2012-07-10 15:01 0Sun在Java5中,对Java线程的类库做了大量的扩展,其中 ... -
遍历集合
2012-06-26 17:28 1075* * To change this template, c ... -
(转)Java 序列化
2012-06-26 14:55 1955当我们需要序列化一个J ... -
权限控制的发散性思维
2012-06-15 17:31 996权限控制的讨论 http://www.iteye.com ...
相关推荐
5. Java 编程的 Class 中获得相对路径,绝对路径的窍门 在 Java 编程的 Class 中,我们可以使用 `Class.getResource()` 方法来获取相对路径和绝对路径。例如,我们可以使用 `FileTest.class.getResource("")` 来...
在Java Web开发中,理解和掌握相对路径与绝对路径的运用是至关重要的,因为这直接影响到资源定位、页面跳转以及文件读写等操作的正确性。以下是对Java Web中相对路径与绝对路径问题的深入总结: ### 一、路径概念与...
### Java相对路径与绝对路径详解 #### 一、基本概念理解 **绝对路径**:绝对路径是指文件或目录在硬盘上的真实路径,包括URL和物理路径。例如,“C:\xyz\test.txt”代表了test.txt文件的真实物理路径;而...
在 Java 项目中,获取相对路径可以使用 `getResource` 方法。这个方法可以返回当前类的相对路径。在静态方法中,可以使用 `Test.class.getResource("").getPath()`,而在非静态方法中,可以使用 `this.getClass()....
### Java中的绝对路径与相对路径 在Java编程中,路径管理是进行文件操作的重要组成部分,尤其是在Web应用开发中。本文将详细介绍如何在Java中获取不同类型的路径,包括Web服务器下的文件路径、本地路径以及相对路径...
### Java中File的相对路径与绝对路径总结 在Java Web开发过程中,经常需要处理文件的读写操作,尤其是在运行时获取配置文件、动态加载对象等情况。对于这些需求,理解和掌握文件的相对路径与绝对路径至关重要。 ##...
在实际开发中,获取资源的绝对路径有多种方法,这些方法可以帮助我们根据不同的需求来定位资源: 1. `FileTest.class.getResource("")`:返回当前类`FileTest.class`所在目录的URI,但不包括`FileTest.class`自身。...
1. **获取当前应用的相对路径与绝对路径** - **根目录所对应的绝对路径** - 方法:`request.getRequestURI()` - `request.getRequestURI()` 返回客户端请求的资源的相对路径(相对于当前上下文)。 - **文件的...
3. 在 JSP/Servlet 中获得当前应用的相对路径和绝对路径 在 JSP 中,可以使用 request.getRequestURI() 获取当前文件的绝对路径,然后使用 application.getRealPath(request.getRequestURI()) 获取当前文件的绝对...
Java 开发中,路径问题是非常重要的一方面,不同的路径表示方式会带来不同的结果,了解绝对路径和相对路径的概念和使用方法对Java 开发非常重要。本文总结了Java 开发中的路径问题,帮助开发朋友方便解决路径问题,...
#### (5) 获取页面的父目录绝对路径: 通过组合使用`application.getRealPath()`和`new File().getParent()`可以得到文件的父目录绝对路径,例如`D:\resin\webapps\TEST`。 ### 2. 类路径的获取 #### (1) 获取类...
在Java编程中,动态获取类的相对路径是一项重要的技能,特别是在处理资源文件或者进行文件操作时。相对路径是相对于当前工作目录或者类加载器的基础路径的路径表示,它可以帮助我们定位到程序运行时所需的文件。下面...
#### 四、Java类中获得相对路径和绝对路径的方法 在独立的Java类中,也可以通过特定的方法获取文件的绝对路径。 ##### 4.1 单独的Java类中获得绝对路径 - **根据java.io.File的文档**:可以通过`new java.io.File...
### Java(Web)中相对路径与绝对路径问题总结 #### 基本概念理解 在Java Web开发中,路径的概念非常重要,因为它们直接影响到资源的加载和处理。路径分为两种类型:绝对路径和相对路径。 **绝对路径**是指文件或...
本文主要涵盖了Java中相对路径和绝对路径的基本概念,以及它们在JSP和Servlet中的应用。以下是对这些概念的详细解释: 1. **绝对路径**: 绝对路径是文件或目录在文件系统中的完整路径,它明确指出了从根目录开始...
理解如何在Java中获取文件路径,特别是区分绝对路径和相对路径,对于构建稳定、可移植的应用程序至关重要。本文将深入探讨Java中获取文件路径的多种方法,以及这些方法背后的原理。 ### 一、Java中的路径类型 ####...
6. **阅读相关文档**:压缩包中的`Java类中获得相对路径和绝对路径.txt`和`Java普通类中如何获取工程真实路径?.txt`文档可能包含了更具体的实现细节,建议仔细阅读以获取更多信息。 理解这些知识点后,开发者就能...
本文将深入探讨Java中的相对路径,这是在处理文件和目录时经常会遇到的一个关键主题。相对路径是相对于当前工作目录或某个已知起点的文件或目录的路径表示方式,与绝对路径(完整描述文件或目录位置的路径)相比,...
JSP中java脚本获取绝对路径 。