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

在Url中处理不区分大小写的应用程序名称

澹台硕
2023-03-14

申请名称:“公司”

访问URL:http://192.28.123.20:8085/companies

现在我可以使用访问Url访问我的“Companys”应用程序,但现在我想访问“Companys”webapp,如果我输入任何情况,即(Company、Company、Company,等等)。

<filter>
    <display-name>BaseFilter</display-name>
    <filter-name>ContextFilter</filter-name>
    <filter-class>sample.context.filter.BaseFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>BaseFilter</filter-name>
    <url-pattern>/companies</url-pattern>
    <url-pattern>/comPAnies</url-pattern>
    <url-pattern>/ComPaNIes</url-pattern>
    <url-pattern>/companies/</url-pattern>
    <url-pattern>/comPAnies/</url-pattern>
    <url-pattern>/ComPaNIes/</url-pattern>
  </filter-mapping>

上面的URL模式映射是命中根文件夹中的Servlet过滤器,像这样我可以得到许多组合来处理混合大小写应用程序名。

有没有人能告诉我,我是按照正确的方式来处理需求的?请建议我,如果有任何其他方式来处理这个混合情况的要求。

共有1个答案

田永春
2023-03-14

假设应用程序的上下文根是/*,您可以将筛选器映射设置为/*,然后在调用筛选器时可以执行以下操作:

if (request.getServletPath().toUpperCase().equals("COMPANIES") {
      request.getRequestDispatcher("/Companies").forward(request.response)
}

关键在于,要使过滤器运行,容器必须为入站请求找到一个有效的目标。为了确保这一点,您可以添加一个默认servlet(映射为“/*”的servlet)。如果调用了这个servlet,则将请求转发到您的欢迎页面。

还要注意,代码段不允许请求中的任何路径信息,因此如果需要允许,请从request.getPathInfo()获取路径信息,并在获取请求分派器时将其添加到“/companies”中。

 类似资料:
  • 问题内容: 有没有简单的方法可以在JAX-RS Web服务中提供不区分大小写的URL?其目的是产生一个“宽容的接受者”的网络服务。1个 我想有可能使用包含所有传入URL 的过滤器来执行此操作。不幸的是,此实现要求程序员严格遵守/保持一致,以确保应用程序中 所有 硬编码的URL字符串均严格使用小写。 另外,我还不知道servlet过滤器的JAX-RS类似物。 如果有关系,我将Jersey作为我的JA

  • 问题内容: 如何区分大小写不区分给定字段的MongoDB集合?默认情况下,我在az之前获得AZ。 问题答案: 更新: 截至目前,mongodb具有不区分大小写的索引: 贝壳: 更新: 此答案已过期,3.4将具有不区分大小写的索引。请查看JIRA以获取更多信息https://jira.mongodb.org/browse/SERVER-90 不幸的是,MongoDB尚无区分大小写的索引:https

  • 问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut

  • 问题内容: 我有一个Lucene索引,该索引当前区分大小写。我想添加的 选项 有不区分大小写作为后备的。这意味着与案例匹配的结果将获得更大的权重,并且将首先出现。例如,如果结果数限制为10,并且有10个匹配项符合我的情况,那就足够了。如果仅找到7个结果,则可以从不区分大小写的搜索中再添加3个结果。 我的案子实际上更复杂,因为我有不同重量的物品。理想情况下,匹配“错误”的表壳会增加一些重量。不用说,

  • 对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写! 考虑以下文件: 运行以下查询: 返回: 是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的感兴趣。 Elasticsearch论坛中的问题 谢谢,伊泰