




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、你将所有的资源打包为 and.jar, 你的类 GUITest.java 位于一个包中:package anducpp;你 的图片资源全部放在images 文件夹中,而 images 文件夹也位于 andycp 包内。andy.jar$A-andycpp$B-GUITest.java$C1images$C2-Snap1.jpg.ImageIcon img1=new ImageIcon(imgURL;另一种情况,类很多,并且包结构复杂,应该把图片放到最外层,让所有类通过绝对路径来 访问该图片:ImageIcon img1=new ImageIcon(imgURL;andy.jar$A-andyc
2、pp$B1-GUITest.javaimages$B2-Snap1.jpg.ImageIcon img1=new ImageIcon(imgURL;$1.由于 jar 对大小写的敏感性,因此应注意图片名称的大小写。2.images前面加“ /”这个反斜杠表示根目录,没有“ /”就表示相对路径,一、得到 classpath 和当前类的绝对路径的一些方法如 :file:/D:/workspace/FileDemo/bin/com/test/如 :file:/D:/workspace/FileDemo/bin/推荐使用 Thread.currentThread(.getContextClassLoa
3、der(.getResource("" 来得 到当前的 classpath 的绝对路径的 URI二、使用相对路径获得资源的绝对路径以上 1, 2方法用的是 Class.getResource(String name 方法, 3, 4方法用的是 ClassLoader.getResource(String name 方 法 , 5方 法 用 的 是 ClassLoader.getSystemResource(String name 方法API 中解释:1、 public URL Class.getResource(String name 方法委托给此对象的类加载器。如果 此对
4、象通过引导类加载器加载, 则此方法将委托给 ClassLoader.getSystemResource(String name 方法在委托前,使用下面的算法从给定的资源名构造一个绝对资源名:* 如果 name 以 '/' ('u002f' 开始, 则绝对资源名是 '/' 后面的 name 的一部 分。* 否则,绝对名具有以下形式:modified_package_name/name其 中 modified_package_name 是 此 对 象 的 包 名 , 该 名 用 '/' 取 代 了 '.' ('
5、u002e'。2、 public URL ClassLoader.getResource(String name 查找具有给定名称的资源。 资源是可以通过类代码以与代码基无关的方式访问的一些数据(图像、声音、文本 等 。资源名称是以 '/' 分隔的标识资源的路径名称。3、 public static URL ClassLoader.getSystemResource(String name从用来加载类的搜索路径中查找具有指定名称的资源。 此方法通过系统类加载器 (参 见 getSystemClassLoader(来查找资源。以上三个方法参数 name 就是提供输入资源的
6、相对路径,这样即可得到当前 classpath 下的资源注意点:1、尽量不要使用相对于 System.getProperty("user.dir" 当前用户目录的相对路径。2、尽量使用 URI 形式的绝对路径资源,它可以很容易的转变为 URI , URL , File 对象。3、尽量使用相对 classpath 的相对路径,不要使用绝对路径。4、 绝 对 不 要 使 用 硬 编 码 的 绝 对 路 径 。 因 为 完 全 可 以 使 用 ClassLoader 类 的 getResource("" 方法得到当前 classpath 的绝对路径。在网站的应
7、用中,通常我们使用 "/"来表示根目录, /img/photo.jpg就表示 photo.jpg 文件在这个网站的根目录上的 img 目录里。但是这样使用对于初学者来说是具有风险性的,因为要知道这里所指的根目录并不是你的网站的根目录,而是你的网站所在的服务器的根目 录,因此当网站的根目录与服务器根目录不同时,就会发生错误。相对路径:分析一下为什么会发生图片不能正常显示的情况。举一个例子,现在有一个页面 index.htm, 在这个页面中联接有一张图片 photo.jpg 。他们的绝对路径如下:c:/website/index.htmc:/website/img/photo.
8、jpg如果你使用绝对路径 c:/website/img/photo.jpg,那么在自己的计算机上将一切正常, 因为确实可以在指定的位置即 c:/website/img/photo.jpg上找到 photo.jpg 文件, 但是当你 将页面上传到网站的时候就很可能会出错了,因为你的网站可能在服务器的 c 盘,可能在 d 盘, 也可能在 aa 目录下, 更可能在 bb 目录下, 总之没有理由会有 c:/website/img/photo.jpg这样一个路径。那么,在 index.htm 文件中要使用什么样的路径来定位 photo.jpg 文件呢? 对,应该是用相对路径,所谓相对路径,顾名思义就是自
9、己相对与目标位置。在上例中 index.htm 中联接的 photo.jpg 可以使用 img/photo.jpg来定位文件,那么不论将这些文件 放到哪里,只要他们的相对关系没有变,就不会出错。另外我们使用“ ./”来表示上一级目录, “ ././”表示上上级的目录,以此类推。 (学 习过 dos 的朋友可能更容易理解再看几个例子,注意所有例子中都是 index.htm 文件中联接有一张图片 photo.jpg 。例:c:/website/web/index.htmc:/website/img/photo.jpg在此例中 index.htm 中联接的 photo.jpg 应该怎样表示呢?错误写
10、法:img/photo.jpg这种写法是不正确的,在此例中,对于 index.htm 文件来说 img/photo.jpg所代表的绝 对路径是:c:/website/web/img/photo.jpg,显然不符合要求。正确写法:使用 ./img/photo.jpg的相对路径来定位文件例:c:/website/web/xz/index.htmc:/website/img/images/photo.jpg在此例中 index.htm 中联接的 photo.jpg 应该怎样表示呢?错误写法:./img/images/photo.jpg这种写法是不正确的,在此例中对于 index.htm 文件来说 .
11、/img/images/photo.jpg所 代表的绝对路径是:c:/website/web/img/images/photo.jpg。正确写法:可以使用 ././img/images/photo.jpg的相对路径来定位文件例:c:/website/web/xz/index.htmc:/website/web/img/photo.jpg在此例中 index.htm 中联接的 photo.jpg 应该怎样表示呢?错误写法:././img/photo.jpg这种写法是不正确的,在此例中对于 index.htm 文件来说 ././img/photo.jpg所代表 的绝对路径是:c:/website/
12、img/photo.jpg。正确写法:可以使用 ./img/photo.jpg的相对路径来定位文件总结:通过以上的例子可以发现,在把绝对路径转化为相对路径的时候,两个文件绝对 路径中相同的部分都可以忽略,不做考虑。只要考虑他们不同之处就可以了。绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径, (URL和物理路径 例如:相对路径:相对与某个基准目录的路径。包含 Web 的相对路径(HTML 中的相对目录 ,例如:在Servlet 中, "/"代表 Web 应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目 录 ,"./
13、"代表上级目录。这种类似的表示,也是属于相对路径。另外关于 URI , URL,URN 等内容,请参考 RFC 相关文档标准。RFC 2396: Uniform Resource Identifiers (URI: Generic Syntax,2. 关于 JSP/Servlet中的相对路径和绝对路径。2.1服务器端的地址其用到的地方有:2.22、客户端的地址>"/user/a.jsp;提交到 servlet 为 actiom ="/webapp/handleservlet" Javascript 也是在客户端解析的, 所 以其相对路径和 form
14、 表单一样。因此, 一般情况下, 在 JSP/HTML页面等引用的 CSS,Javascript.Action 等属性前面最好都加 上<%=request.getContextPath(%>,以确保所引用的文件都属于 Web 应用中的目录。另外,应 该尽量避免使用类似 ".","./","././"等类似的相对该文件位置的相对路径, 这样当文件移 动时,很容易出问题。3. JSP/Servlet中获得当前应用的相对路径和绝对路径3.1 JSP中获得当前应用的相对路径和绝对路径根目录所对应的绝对路径 :request.get
15、RequestURI(文件的绝对路径 :application.getRealPath(request.getRequestURI(;当前 web 应用的绝对路径 :application.getRealPath("/"取 得 请 求 文 件 的 上 层 目 录 :new File(application.getRealPath(request.getRequestURI(.getParent(3.2 Servlet中获得当前应用的相对路径和绝对路径根目录所对应的绝对路径 :request.getServletPath(;文件的绝对路径 :request.getSessio
16、n(.getServletContext(.getRealPath (request.getRequestURI(当前 web 应用的绝对路径 :servletConfig.getServletContext(.getRealPath("/" (ServletContext对象获得几种方式:4.java 的 Class 中获得相对路径,绝对路径的方法4.1单独的 Java 类中获得绝对路径默认情况下 new File("/"代表的目录为:System.getProperty("user.dir"。一下程序获得执行类的当前路径public class FileTest 的路径为根.比如用新建文件法测试 File f = new File(&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 耐火材料3D打印工艺优化-第1篇-洞察与解读
- 农机减排效果评估-洞察与解读
- 2025年中学教师资格考试《综合素质》教育教学能力提升专项训练试题(含答案)
- 2025年教师资格证考试《综合素质》教师职业道德应用题解析与答案
- 《2025年中学教师资格考试》综合素质教育案例深入分析题库(含答案解析)
- 2025年大学辅导员招聘考试题库:心理危机干预心理健康教育试题
- 2025年医保知识考试题库及答案-医保信息化平台操作隐私保护试题型
- 文化差异对工作场所人际关系的影响-洞察及研究
- 核能系统传热理论-洞察及研究
- 油气井智能尾管维护技术-洞察及研究
- DB3301∕T 65.1-2024 反恐怖防范系统管理规范 第1部分:通则
- 医疗器械经营质量管理规范现场检查指导原则培训课件
- 专业学位硕士研究生英语智慧树知到答案2024年黑龙江中医药大学
- 放射科影像合作协议书
- 幼儿园大班艺术课件:《国旗国旗红红的哩》
- 医院感染相关法律法规培训课件
- 中考数学解题的思维模式设计与分析探讨
- 头部手术备皮方法
- 企业内部控制培训课件完整版
- 五年级上册生命与健康教案
- 学位申请书单位评语
评论
0/150
提交评论