posts - 6,  comments - 7,  trackbacks - 0

          使用JSF編寫web程序的時候,JavaBean無法直接通過相對路徑來訪問文件。經(jīng)過一天的研究主要發(fā)現(xiàn)兩類解決方案,一是,通過FacesContext,二是,通過ClassLoader

          下面通過實例來說明。

          首先是介紹web程序目錄的大致結構:

          D:"......"Tomcat 6.0"webapps"imatrixb ------> 程序的更目錄

                   --META-INF

                   --WEB-INF

                   ---------------classess

                   ---------------------------cn

                   ----------------------------------com

                   --------------------------------------------……                        ----------->class 文件

                   ---------------------------XmlData

                   ---------------------------------path-config.xml           1

                            --------------- path-config.xml                                           2

          …….

          Index.jsp

          一:FacesContext

          獲得(2)號path-config.xml文件信息,

          代碼如下:

          String partPath=”/ WEB-INF/ path-config.xml”;

          1. getRealPath():

          FacesContext context = FacesContext.getCurrentInstance();
          HttpServletRequest rst = (HttpServletRequest)context.getExternalContext().getRequest();
          String fullPath=rst.getRealPath(xmlfile); //
          獲得xml文件的系統(tǒng)路徑,xmlfile為相對路徑

                   采用這個方法存在一些隱患:比方說對一個打包的應用來說,是沒有RealPath的概念的,調用getRealPath只會簡單地返回null

                   2. getResourceAsStream():

          FacesContext context = FacesContext.getCurrentInstance();

          InputStream xmlStream = context.getExternalContext()

                        .getResourceAsStream(xmlfile);

              用于只讀的形式。

              二:ClassLoader

          獲得(1)號path-config.xml文件信息,

          代碼如下:

          String partPath =”/XmlData/path-config.xml”;

          String fullPath=this.getClass().getClassLoader().getResource(partPath).getPath();

          //使用的時候還是存在一些問題,無法正常使用,暫時沒有發(fā)現(xiàn)解決的辦法

          InputStream xmlStream=this.getClass().getClassLoader().getResourceAsStream(partPath);

                   //用于只讀的形式下,通過測試能夠正常的使用

          posted on 2008-02-29 17:36 zhan 閱讀(2104) 評論(2)  編輯  收藏

          FeedBack:
          # re: JSF web編程中的JavaBean路徑訪問問題
          2008-03-02 14:47 | xifu
          樓主強悍  回復  更多評論
            
          # re: JSF web編程中的JavaBean路徑訪問問題
          2015-11-05 15:31 | 人口水壽
          贊一個  回復  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          <2008年2月>
          272829303112
          3456789
          10111213141516
          17181920212223
          2425262728291
          2345678

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 五寨县| 小金县| 德江县| 平陆县| 乐陵市| 农安县| 沽源县| 太谷县| 武安市| 濉溪县| 当涂县| 望都县| 精河县| 六枝特区| 哈巴河县| 临沂市| 镇原县| 大冶市| 葵青区| 遂昌县| 锦屏县| 黄山市| 江华| 冷水江市| 和静县| 天长市| 崇义县| 察雅县| 临城县| 海伦市| 泌阳县| 武鸣县| 左权县| 镇沅| 镇原县| 五峰| 百色市| 庆云县| 承德市| 台中县| 雅安市|