gpt4 book ai didi

java - Tomcat 将另一个 xml 文件包含到 web.xml

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:50:10 26 4
gpt4 key购买 nike

大家好,

因为我的 web.xml 中有很多 servlet 映射,我想知道我是否真的可以将所有映射存储到单独的文件中,然后将其包含到 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 中是否可行)

这样的事情可能吗?或者还有其他方法可以让它发挥作用吗?

(为我糟糕的英语道歉)

提前致谢,亚历克斯

最佳答案

Servlet 3.0 引入了 web 片段的概念,它解决了关于将 web.xml 拆分为多个文件的问题。这些片段可以包含部分(或全部)web 部署描述符,包括一个 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>

关于java - Tomcat 将另一个 xml 文件包含到 web.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25928486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com