如何在web.xml文件中引入其他的xml文件


最近在做一個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應該也管用,其他版本沒試過。

        這樣,我可以在系統開始設計時,將各個模塊分開,便於以后系統拆分。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM