gpt4 book ai didi

java - servlet的web.xml中保留字?

转载 作者:行者123 更新时间:2023-11-28 22:06:55 25 4
gpt4 key购买 nike

我对 servlet 还很陌生,所以我希望这不是一个显而易见的问题。因此,我有一个使用模板在 NetBeans 中创建的简单 Java servlet。我在 web.xml 中创建了一个上下文参数,其中列出了允许的主机(我的请求参数之一是一个 URL,我将与此列表进行比较):

<context-param>
<param-name>allowedHosts</param-name>
<param-value>
http://opendap.co-ops.nos.noaa.gov/thredds/wms/NOAA/CBOFS/MODELS/201206/nos.cbofs.fields.nowcast.20120612.t00z.nc?service=WMS&version=1.3.0&request=GetCapabilities
http://www.google.com
http://www.facebook.com
</param-value>
</context-param>

当我只在 Google 和 Facebook 等网站上放置虚拟 URL 时,这非常有效。但是,当我添加第一个 URL 时,Tomcat 服务器甚至无法部署。查看我的日志,我在一个很长的堆栈跟踪的顶部看到了这个:

SEVERE: Parse Fatal Error at line 19 column 146: The reference to entity "version" must end with the ';' delimiter.
org.xml.sax.SAXParseException: The reference to entity "version" must end with the ';' delimiter.

第 19 行第 146 列确实指向上下文参数列表中的那个长 URL 的“版本”部分。所以很明显“版本”是某种保留词。如果我从这个 URL 中删除“version”参数,“request”也是一个问题。

我可以通过将 http://opendap.co-ops.nos.noaa.gov/thredds/wms/ 作为 URL 来解决这个问题(因为最终我想要一个主机列表无论如何都不是特定的 URL),但我想知道必须做些什么才能解决这个问题...有没有办法在 web.xml 中包含具有此类“保留字”的 URL?

谢谢!

最佳答案

只需输入“&” (不带引号)而不是 URL 中的符号。

希望这对你有帮助 - DF

编辑:试试这个:

<context-param>
<param-name>allowedHosts</param-name>
<param-value>
http://opendap.co-ops.nos.noaa.gov/thredds/wms/NOAA/CBOFS/MODELS/201206/nos.cbofs.fields.nowcast.20120612.t00z.nc?service=WMS&amp;version=1.3.0&amp;request=GetCapabilities
</param-value>

Edit2:PS 这些东西在 XML 中被称为“实体”——谷歌一下以获取更多信息

关于java - servlet的web.xml中保留字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11052108/

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