最近在做一個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
分享愛的空間 閱讀(8371)
評論(17) 編輯 收藏