Sym - 一个用 Java 实现的现代化社区平台 • 源码 • 注册

Pipe - 小而美的开源博客平台 • 体验 • 皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载 
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

Java 在不同环境下获取当前路径的方法 --this.getClass().getResource("")

  1. 在 Servlet\Filter 等 Servlet web 环境中,只要获得 javax.servlet.ServletContext 类型,则可以通过 getRealPath("...") 获得路径。相对路径中最顶层目录可通过参数 “"/"” 获取。
    request.getSession().getServletContext().getRealPath("/");

2. JSP 自定义标签 javax.servlet.jsp.tagext.TagSupport
((javax.servlet.ServletContext)pageContext).getRealPath("");

3. 普通 Java Class 对象文件中使用:
this.getClass().getResource("???");
如果 Class 文件在顶层目录(包)中,且 “???” 为空白字符串(“""”),及此方法在 jar 文件中执行则会返回 null。在顶层目录(包)以下的各层目录(包)则会返回包含协议的 URL。各层文件夹(包)之间使用 “/” 分隔。


项目位置:D:\BeyondTrack--reference\jBPMWebDesigner

javacode 位置:D:\BeyondTrack--reference\jBPMWebDesigner\build\web\classes\net\java\dev\beyondtrack\web\workflow\designer\japplet

文件位置:D:\BeyondTrack--reference\jBPMWebDesigner\src\java\net\java\dev\beyondtrack\web\workflow\designer\icon



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.java.dev.beyondtrack.web.workflow.designer.japplet;

import javax.swing.ImageIcon;

/**
 *
 * @author pub32
 */
public class NewMain {

 public NewMain () {
  System.out.println(this.getClass().getResource(""));
  System.out.println(this.getClass().getResource("."));
  System.out.println(this.getClass().getResource(".."));
  System.out.println(this.getClass().getResource("/"));
  System.out.println(this.getClass().getResource("point.png"));
  System.out.println(this.getClass().getResource("/point.png"));
  System.out.println(this.getClass().getResource("./point.png"));
  System.out.println(this.getClass().getResource("../point.png"));
  System.out.println(this.getClass().getResource("icon/point.png"));
  System.out.println(this.getClass().getResource("/icon/point.png"));
  System.out.println(this.getClass().getResource("./icon/point.png"));
  System.out.println(this.getClass().getResource("../icon/point.png"));
 }

 public static void main(String[] args) {
  System.out.println("====== Test.class ======");
  NewMain test = new NewMain();
 }
}



====== Test.class ======
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/japplet/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/japplet/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/
null
null
null
null
null
null
null
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/icon/point.png
BUILD SUCCESSFUL (total time: 0 seconds)



欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步