重復容易,改變很難
          java,,,不錯的玩具
          posts - 21,  comments - 42,  trackbacks - 0
                  最近在做一個Servlet+javaBean的項目,服務器用的是tomcat。因此,所有的頁面都是servlet請求,而且很多,需要在web.xml文件中進行配置。導致web.xml文件特別大,而且這個系統以后會做大,并且會出現系統拆分,為了便于以后拆分,于是想到將web.xml文件中的servlet和servlet-mapping能夠從web.xml脫離出來,用其他xml文件保存然后在web.xml文件中引入這些文件,就想類似引入struts.config一樣。
                  在網上找了半天也沒找到,還是學哥厲害,找到了答案,在此向他致敬。
                  
                  具體做法如下:
                      1,按模塊將servelet從web.xml中拷貝出來,放到一個test.xml中,如test.xml中內容如下:
                          <servlet>
                                 <servlet-name>testA</servlet-name>
                                 <servlet-class>TestA</servlet-class>
                        </servlet>
                        <servlet-mapping>
                              <servlet-name>testA</servlet-name>
                              <url-pattern>/testA.do</url-pattern>
                        </servlet-mapping>
                      2,在我的WEB-INF/web.xml中引入test.xml
                          <!DOCTYPE web-app
                              [<!ENTITY test SYSTEM  "file:///D:/eclipse/workspace/Test/WebRoot/WEB-INF/test.xml">
                              <!ENTITY admin SYSTEM  "admin.xml">]> 
                          <web-app version="2.5" 
                               xmlns="http://java.sun.com/xml/ns/j2ee" 
                               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                              xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd" 
                          >    
                          &test;
                          &admin;
                  
                      以上修改即可,web.xml會在開頭引入你的test.xml.然后  &test;表示你放的地方。 
          如果設定的是相當路徑,可以如此設定:
                      如果test.xml和web.xml在同一個文件夾,則   [<!ENTITY test SYSTEM  "test.xml">]
                      如果test.xml在web.xml所在文件夾的ccc文件夾中,則  [<!ENTITY test SYSTEM  "ccc/test.xml">]


                  我的servlet是2.5,2.4應該也管用,其他版本沒試過。 

                  這樣,我可以在系統開始設計時,將各個模塊分開,便于以后系統拆分。
          posted on 2009-04-09 18:34 分享愛的空間 閱讀(8384) 評論(17)  編輯  收藏

          FeedBack:
          # re: 如何在web.xml文件中引入其他的xml文件
          2009-04-13 15:27 | Cenwave engineer
          捕捉剎那間的靈感,記錄思維的火花,好習慣,要保持!  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2009-04-21 17:25 | up
          java.io.FileNotFoundException: D:\eclipse-work\eclipse3.4.2\newtouch-logging-analysis-0.1\birt-web.xml (???????????)

          請問 有沒有遇到過,使用相對路徑
          <!DOCTYPE web-app [<!ENTITY birt SYSTEM "birt-web.xml">]>
          啟動時沒有問題,
          使用時卻報錯,FileNotFoundException

          絕對路徑應該是 D:\eclipse-work\eclipse3.4.2\newtouch-logging-analysis-0.1\src\main\webapp\birt-web.xml

          為什么啟動后再加載路徑就不對了

          能不能加 msn: wangpu0926@live.cn  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2009-04-21 17:28 | up
          不好意思寫錯了:

          絕對路徑應該是 D:\eclipse-work\eclipse3.4.2\newtouch-logging-analysis-0.1\src\main\webapp\WEB-INF\birt-web.xml

          跟web.xml 同路徑  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2009-04-21 17:36 | 分享愛的空間
          @up
          文件的路徑應該這么寫:
          D:/eclipse-work/eclipse3.4.2/newtouch-logging-analysis-0.1/birt-web.xml
          是反斜杠"/",我的系統式windows下的tomcat  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2009-04-21 17:37 | 分享愛的空間
          由于沒看到你的真實環境,你可以先使用以下方式試試用絕對路徑看能不能找到指定文件,如果找得到,就是你的工程部署出了問題,如果沒找到,就要檢查一下你的路徑了:
          <!ENTITY test SYSTEM "file:///D:/eclipse/workspace/Test/WebRoot/WEB-INF/test.xml">@up
            回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2010-01-25 12:53 | G
          如果test.xml和web.xml在同一個文件夾,則 [<!ENTITY test SYSTEM "test.xml">]
          -----
          在tomcat中, 這樣直接指向的是tomcat/bin目錄.  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2010-01-26 10:19 | 分享愛的空間
          @G
          test.xml和web.xml在同一個文件夾,因為web.xml文件在站點根目錄/WEB-INF/目錄下,所以test.xml也在這個目錄之下
          因此,確實是在/WEB-INF/目錄下.....
          不知道你是根據什么文檔來判斷指向的是tomcat/bin目錄
          愿共同探討  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件[未登錄]
          2010-07-21 11:55 | ECHO
          經過驗證,使用相對路徑時,確實是會去找tomcat/bin目錄  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2011-04-11 17:52 | christ
          如果我把test.xml放在tomcat的conf目錄下,那我用相對路徑怎么引入?  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2011-11-18 15:20 | intrejj
          將項目部署到Linux上時,這樣配置不行哦!  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2012-01-18 14:14 | 劉可如
          確實如果在tomcat下部署,結果不對?請問如果部署到tomcat下,應該怎樣寫相對路徑?@分享愛的空間
            回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件[未登錄]
          2012-02-11 10:47 | test
          weblogic下不行  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件[未登錄]
          2012-02-29 14:45 | jk
          部署在jboss里面就會出錯!  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2013-11-20 10:38 | 離歌笑
          不錯  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2014-09-15 15:12 | like
          不行啊!報錯的  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2016-03-29 10:33 | 風alone
          謝謝,分享  回復  更多評論
            
          # re: 如何在web.xml文件中引入其他的xml文件
          2016-07-19 11:05 | xdd
          text.xml沒有根路徑不報錯嗎  回復  更多評論
            

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


          網站導航:
           

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(5)

          隨筆檔案

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宣城市| 乡宁县| 古蔺县| 东宁县| 昌吉市| 通化市| 江陵县| 灌阳县| 文成县| 许昌县| 额尔古纳市| 雷州市| 巢湖市| 同德县| 田东县| 华宁县| 荆门市| 新昌县| 莫力| 凤庆县| 台山市| 通河县| 叶城县| 紫云| 涪陵区| 宁海县| 个旧市| 东港市| 夏河县| 东莞市| 汉阴县| 申扎县| 安远县| 仁怀市| 龙江县| 临泉县| 如皋市| 灌南县| 交口县| 乌苏市| 无锡市|