分享

java获取WEB

 Mis林桑 2017-07-18

JSP WEB工程在不用servlet的情况下如何在普通的java类中获取WEB-INF的绝对路径呢?

如下图所示,我在WEB-INF目录下面放了一个文件server.xml,

我需要在普通的java类中获取server.xml的绝对路径,怎样才能获取到呢?


---------------------------------------------------------------------------------------------------------------------------------------------

获取WEB-INF目录下面的server.xml文件绝对路径的代码如下:

  1. /** 
  2.      * 获取WEB-INF目录下面server.xml文件的路径 
  3.      * @return 
  4.      */  
  5.     public static String getXmlPath()  
  6.     {  
  7.         //file:/D:/JavaWeb/.metadata/.me_tcat/webapps/TestBeanUtils/WEB-INF/classes/   
  8.         String path=Thread.currentThread().getContextClassLoader().getResource('').toString();  
  9.         path=path.replace('/''\\'); // 将/换成\  
  10.         path=path.replace('file:'''); //去掉file:  
  11.         path=path.replace('classes\\', ''); //去掉class\  
  12.         path=path.substring(1); //去掉第一个\,如 \D:\JavaWeb...  
  13.         path+='server.xml';  
  14.         //System.out.println(path);  
  15.         return path;  
  16.     }  

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

我在JSP界面测试的代码如下:

  1. %@page import='tools.ReadXML'%>  
  2. %@ page language='java' import='java.util.*' pageEncoding='UTF-8'%>  
  3. >  
  4. html>  
  5.   head>  
  6.         title>title>  
  7.   head>  
  8.     
  9.   body>  
  10.         center>  
  11.             server.xml所在路径:br>  
  12.             %=ReadXML.getXmlPath()%>  
  13.         center>  
  14.   body>  
  15. html>  
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

效果截图如下:



-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

最后废话几句:

      我们都知道在JSP WEB工程中有几个固定的目录,如1.WEB-INF目录,2.classes目录....

而classes目录就在WEB-INF目录下面。在运行JSP网站时,所有的java类都被放在了classes目录下面,

我们通过以下语句获取class目录所在的目录:

Thread.currentThread().getContextClassLoader().getResource('').toString();

一般获取到的结果形式为:

file:/D:/JavaWeb/.metadata/.me_tcat/webapps/TestBeanUtils/WEB-INF/classes/ 

骚年,根据以上这个字符串,不难提取出WEB-INF目录的绝对路径吧!

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

您的十分满意是我追求的宗旨。

您的一点建议是我后续的动力。









    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多