Tomcat包含另一个到web.xml的xml文件 [英] Tomcat include another xml file to web.xml
问题描述
大家好,
由于我的web.xml中有很多servlet映射,我想知道我是否真的可以存储所有的映射到单独的文件,然后将其包含到web.xml中。
Since I have lots of servlet mappings in my web.xml I was wondering if I could actually store all the mappings to separate file and then include it to web.xml.
servervlet-mapping.xml
<servlet>
<servlet-name>red</servlet-name>
<servlet-class>Test.Red</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>red</servlet-name>
<url-pattern>/blue</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>blue</servlet-name>
<servlet-class>Test.Blue</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>blue</servlet-name>
<url-pattern>/blue</url-pattern>
</servlet-mapping>
web.xml
<include file="servlet_mapping.xml"/>
这样就可以在struts.xml中加载xml文件。 (不确定web.xml中是否可以这样做)
This way it's possible to load xml files in struts.xml. (not sure if the same is possible in web.xml)
这样的事情可能吗?或者还有其他方法可以使它工作吗?
Is something like this possible? Or is there any other way to make it work?
(我的英语不好道歉)
提前致谢,
Alex
Thanks in advance, Alex
推荐答案
Servlet 3.0引入了Web片段的概念,它解决了有关拆分 web.xml $ c的问题$ c>到多个文件中。这些片段可以包含部署(或全部)Web部署描述符,包括
META-INF / web-fragment.xml
Servlet 3.0 introduced the concept of web fragments, which addresses your question about splitting the web.xml
into multiple files.These fragments can contain a portion (or all) of the web deployment descriptor by including a META-INF/web-fragment.xml
<web-fragment metadata-complete="true" version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd">
<name>fragment1</name>
<servlet>
<servlet-name>red</servlet-name>
<servlet-class>Test.Red</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>red</servlet-name>
<url-pattern>/blue</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>blue</servlet-name>
<servlet-class>Test.Blue</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>blue</servlet-name>
<url-pattern>/blue</url-pattern>
</servlet-mapping>
</web-fragment>
在web.xml中
...
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>MyWelcomePage</servlet-name>
<servlet-class>MyWelcomePage</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyWelcomePage</servlet-name>
<url-pattern>/MyWelcomePage/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<absolute-ordering>
<name>fragment1</name>
</absolute-ordering>
</web-app>
这篇关于Tomcat包含另一个到web.xml的xml文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!