`
打了个D
  • 浏览: 74297 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
阅读更多

    JAVA Web项目获取物理根目录绝对路径  

package com.path;

import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;

/**
 * 普通JAVA获取   WEB项目下的WEB-INF目录
 * @author wang
 *
 */
public class PathUtil {
	public static void main(String[] args) {
		PathUtil pathUtil = new PathUtil();
		System.out.println("path=="+pathUtil.getWebInfPath());
	}
	
	private String getWebInfPath(){
		URL url = getClass().getProtectionDomain().getCodeSource().getLocation();
		String path = url.toString();
		int index = path.indexOf("WEB-INF");
		
		if(index == -1){
			index = path.indexOf("classes");
		}
		
		if(index == -1){
			index = path.indexOf("bin");
		}
		
		path = path.substring(0, index);
		
		if(path.startsWith("zip")){//当class文件在war中时,此时返回zip:D:/...这样的路径
			path = path.substring(4);
		}else if(path.startsWith("file")){//当class文件在class文件中时,此时返回file:/D:/...这样的路径
			path = path.substring(6);
		}else if(path.startsWith("jar")){//当class文件在jar文件里面时,此时返回jar:file:/D:/...这样的路径
			path = path.substring(10); 
		}
		try {
			path =  URLDecoder.decode(path, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		
		return path;
	}
}

 

 

 

分享到:
评论
4 楼 gotosuzhou 2015-04-30  
相对路径怎么取
3 楼 diyunpeng 2012-10-12  
写的真的很好,谢谢了。
2 楼 打了个D 2012-05-13  
勇-高 写道
getWebInfPath()应该声明为public而不是private类型

晕,你没看我这类里面有个main函数吗,只是写了个测试例子,代码都贴出来啦。你想调用,难道。。。你懂滴
1 楼 勇-高 2012-05-12  
getWebInfPath()应该声明为public而不是private类型

相关推荐

    web-inf和meta-inf

    它是Java Web应用程序的核心配置文件,位于Web应用程序的根目录下。Web-Inf目录的结构如下: * /WEB-INF/web.xml:这是Web应用程序的配置文件,用于描述Servlet和其他应用组件的配置及命名规则。 * /WEB-INF/...

    Eclipse中web-inf和meta-inf文件夹的信息

    `WEB-INF` 文件夹主要存在于 Web 项目中,用于组织和管理 Web 应用程序的资源文件,如配置文件、类文件等。它不适用于普通的 J2SE 项目。 **1. WEB-INF/web.xml 文件** - **功能**: 定义 Web 应用程序的部署描述符...

    WEB-INF目录下的jsp页面如何访问

    在Java Web应用中,`WEB-INF`目录是一个非常重要的组成部分,它位于Web应用程序的根目录下。`WEB-INF`目录主要用于存放那些不应该直接暴露给客户端的应用程序资源,比如配置文件、类文件、JSP页面等。这样做主要是...

    java读取WEB-INF或src目录下的properties配置文件

    大家都喜欢把配置文件放在src目录下,如果有10个以上的配置文件为什么不考虑在WEB-INF目录下新建一个文件夹,专门放配置文件;这样即好管理,文件安全性又高。亲问题已经解决,把源代码共享给大家,已经通过测试;...

    java 读取WEB-INF下文件夹中的properties文件

    非常实用的读取配置文件的小工具,专门读取WEB-INF下文件夹中的properties文件,代码简洁、亲测没有问题,适用范围广,任何类中都可调用,传入Key及可得到Value

    JSP文件是否有必要放在WEB-INF下

    真正的原因是,对于早期直接嵌入Java代码的JSP,是直接给出JSP路径给用户访问的,这种情况恰恰不能放在WEB-INF目录下。而到了现在的MVC模式,JSP已经不是曾经那个包含完整逻辑的JSP,而仅仅充当View层的模板,必须要...

    web-inf 第一部分

    【标题】"Web-INF 第一部分" 涉及的知识点主要集中在Java Web开发中的一个重要目录结构,SSH框架的使用,以及Oracle数据库与PBMS系统的结合。在这个场景中,`WEB-INF`目录是Java Web应用程序的标准组成部分,SSH框架...

    WEB-INF下的lib下的子目录中的jar包不能自动发布的问题的解决办法

    `lib`目录位于`WEB-INF`下,通常用于存放应用所需的JAR(Java Archive)文件,这些JAR文件包含了运行应用所依赖的类库。然而,有时候我们可能会遇到一个问题,即`WEB-INF/lib`下的子目录中的JAR包无法自动发布,导致...

    WEB-INF中的web.xml中之前增加以下配置:

    也可以在web工程的webcontent/web-inf目录下建立context.xml文件,这样避免了两次去更改server.xml配置,也可使不同工程使用不同context配置,这是Tomcat6提倡的方法。 六、依赖jar文件 将以下几个jar文件复制到...

    已配置好Struts2.2.1GA的WEB-INF

    标题中的“已配置好Struts2.2.1GA的WEB-INF”指的是一个已经包含了所有必要配置文件和库的WEB-INF目录,这个目录是Java web应用的核心部分,它包含了一些关键元素: 1. **web.xml**:这是web应用的部署描述符,定义...

    WEB-INF下lib2.rar

    这些库文件通常位于Java Web应用程序的结构中,具体在WEB-INF目录下的lib子目录里,用于存放支持应用运行的各种JAR(Java Archive)文件。 描述中提到“和我发的netshop.rar是同一个系统”,暗示这可能是一个电子...

    WEB 项目中JAVA取得WEBROOT物理路径

    在Java Web开发中,获取WEB-INF目录或者更广泛的WEBROOT(Web应用的根目录)的物理路径是一项常见的需求。这通常涉及到服务器环境变量、Servlet API的使用以及对Web应用部署结构的理解。以下将详细讲解如何在Java中...

    java项目的目录作用

    本文将详细介绍 Java 项目的目录结构及其作用,包括 META-INF 目录、WEB-INF 目录等。 META-INF 目录 META-INF 目录是 Java 项目中最重要的目录之一,它用于存储包和扩展的配置数据,如安全性和版本信息。Java 2 ...

    java web项目打包.war格式

    其中,META-INF 目录包含了 WAR 文件的元数据,WEB-INF 目录包含了项目的 class 文件、资源文件和配置文件。 部署 WAR 文件 要部署 WAR 文件,需要将其复制到 Tomcat 等 Web 服务器的 webapps 目录下。例如,将 my...

    请求重定向无法访问web-inf下的资源1

    在Java Web开发中,我们经常会遇到“请求重定向无法访问WEB-INF下的资源1”这样的问题。这主要是由于WEB-INF目录的特殊性所引起的。本文将深入解析这个问题的原因,并提供解决方案。 **WEB-INF目录的特性** 在Java ...

    详解直接访问WEB-INF目录下的JSP页面的方法

    在Web开发中,WEB-INF目录是一个安全性的关键点,它通常位于Web应用的根目录下。按照常规的Web服务器配置规则,位于WEB-INF目录下的资源是不能直接通过浏览器访问的,因为这会暴露应用的内部结构,增加安全风险。WEB...

    WEB-INF.tar.gz

    在Java Web应用中,`WEB-INF`目录具有特殊的意义,它是Web应用程序的标准结构的一部分。 `WEB-INF`目录包含不直接暴露给用户的资源,如Servlet类、配置文件、库(JAR文件)等。具体来说,以下是一些关键组件: 1. ...

    JSF编程WEB-INF下lib内所用到的jar包集成

    在JSF编程中,`WEB-INF/lib`目录下的JAR包扮演着至关重要的角色,它们包含了JSF运行所需的库和依赖。下面我们将详细探讨这些JAR包的功能及其在JSF应用中的作用。 1. **webui-jsf.jar** 和 **webui-jsf-suntheme.jar...

    Java Web项目集成开源报表工具BIRT

    INF/下的tlds、viewer.properties文件拷贝到report-engine文件夹下,然后将birt-runtime-4_4_2/WebViewerExample/WEB-INF/下的server-config.wsdd文件拷贝到Java Web项目的WebRoot/WEB-INF/目录下。 步骤6:修改web...

    Java项目中如何访问WEB-INF下jsp页面

    在Java Web开发中,将JSP页面放置在`WEB-INF`目录下是一种常见的做法,主要目的是为了增强应用程序的安全性。因为Tomcat等Servlet容器默认不允许直接通过URL访问`WEB-INF`目录下的资源,这可以防止未经身份验证的...

Global site tag (gtag.js) - Google Analytics