当前位置: 首页 > 知识库问答 >
问题:

web.xml中的多个URL模式元素

孙光临
2023-03-14

在符合J2EE web app 2.4版的web.xml中,可以在元素中包含多个元素吗,如下所示:

<filter-mapping>
    <filter-name>SomeFilter</filter-name>
    <url-pattern>*.htm</url-pattern>
    <url-pattern>*.do</url-pattern>
</filter-mapping>

我从http://java.sun.com/xml/ns/j2ee/web-app_2_4.XSD中查找了XSD“web-app_2_4.XSD”文件,其定义如下所示:

  <xsd:complexType name="filter-mappingType">
    <xsd:annotation>
      <xsd:documentation>
            some documentation here
      </xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="filter-name"
           type="j2ee:filter-nameType"/>
      <xsd:choice>
    <xsd:element name="url-pattern"
             type="j2ee:url-patternType"/>
    <xsd:element name="servlet-name"
             type="j2ee:servlet-nameType"/>
      </xsd:choice>
      <xsd:element name="dispatcher"
           type="j2ee:dispatcherType"
           minOccurs="0" maxOccurs="4"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>

URL模式定义如下所示:

所以我认为,我们可以在元素中有多个元素。但是,我的Eclipse IDE似乎不同意我的观点,并且需要一个'dispatcher'标记。

共有1个答案

方茂
2023-03-14

sequence元素中的maxoccursminoccurs的默认值为1https://msdn.microsoft.com/en-us/library/ms256089(v=vs.110).aspx。

choice只允许其中一个元素:
https://msdn.microsoft.com/en-us/library/ms256109(v=vs.110).aspx

 类似资料:
  • 我们知道如何为servlet设置url模式,但我无法在web中为html设置url模式。xml,你能帮我找到解决方案吗?我搜索了一下,但找不到,请在下面找到我的问题。 在上面的代码中,我正在为Web中的servlet类设置url模式.xml,就像明智的,我可以为web中的html文件设置url模式.xml请帮助找到解决方案,提前感谢您

  • 我已经使用内置的tomcat支持在tomcat中配置了Kerberos身份验证。下面是web.xml的部分,目前只有域用户能够对非域用户(外部PC机)的应用程序进行身份验证和访问,站点不能访问,并给出下面的响应。 由于缺少目标资源的有效身份验证凭据,该请求尚未应用。 对于我在web.xml中添加的非域PC机,有没有一种方法可以重定向到用户名和密码提示符

  • 在一个web.xml中有多个jersey servlet是可能的吗?我尝试以这种方式执行RESTfull版本控制:

  • 我知道这可以在Servlet3.0中通过@Webservlet注释实现,在这里您只需分配url模式,而不必在web.xml中进行任何配置。是否有一种方法可以通过编程方式为运行Servlet2.5的应用程序分配servlets url模式? 我正在创建一个库,多个应用程序将依赖于它,并试图使它,以便这些应用程序中的每一个都不必显式配置任何servlet url映射,我正在创建的库中的servlet在

  • 我想合并/添加一个新泽西项目B(已经运行良好)到一个新泽西项目a,这将充当一个过滤器/安全层。因此,作为一个基本步骤,我在项目a的构建路径上向项目B添加了依赖项,并在构建路径中向部署程序集添加了相同的依赖项。我从这篇文章中了解到,我可以通过将servlet放在同一个中,并使用以不同的方式映射它们来实现这一点。当我试图访问项目B的资源时,我没有任何运气。 因此,当我尝试访问时,它工作得很好。但是当我

  • 我正在尝试在web.xml中映射多个servlet。在我的index.html中,我有一个操作“desktype.do”的表单,当我运行程序时,它成功了。我是这样开始的: …效果很好。它成功地编译,并且在按下我在index.html中设置的按钮后,它就会按照需要运行。在添加了额外的servlet映射之后: 我收到错误“模块尚未部署。详细信息请参阅服务器日志。构建失败(总时间;0秒)”我不确定该怎么