我的servlet.xml
,
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr
现在,我认为, dwr 是我们要使用的前缀,例如
<dwr:configuration>
<dwr:convert type="bean" class="com.abc.bean.MyBean" />
</dwr:configuration>
现在问题是,如果网站http://www.directwebremoting.org关闭,那么我的应用程序无法创建bean。
每当beanfactory创建bean时,是否会访问此网站?
有没有其他选择,以便我可以使用dwr,而无需点击他们的网站?
完整标题:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">
答案 0 :(得分:12)
这是XML namespace。这用于确保您的XML标识符(标记等)是唯一的 - 您只需将它们包装在命名空间(如.NET命名空间)中。
命名空间只是一个标识符 - 它是 NOT 在网络上的真实位置!
XML命名空间必须是唯一的 - 这就是许多公司在命名空间中使用* .com域名的原因,因为没有其他人可以(或应该)使用它。
但是你所拥有的“伪URL”是 NOT 一个物理网址,即使“www.directwebremoting.org”域名应该关闭或停止,你的代码仍然会有效!< / p>
这只是一个名字 - 只不过是名字 - 没有物理文件驻留在“URL”后面。
<强>更新强>: 好的,我们在这里有一个不同的问题:
<beans xmlns="http://www.springframework.org/schema/beans"
...........
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.directwebremoting.org/schema/spring-dwr
==> http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"> <==
这些xsi:schemaLocation
条目是罪魁祸首 - 这些当然会导致对该网站的依赖,因为您直接引用了XML模式文件(spring-dwr-2.0.xsd
)通过该网站上的网址。
您当然也可以将这些* .xsd文件下载到本地磁盘并从那里使用它。这样的XML命名空间只不过是一个名称,但是这个schemaLocation http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
显然是一个真实的物理URL,如果网站关闭则无法工作。
答案 1 :(得分:8)
问题可能与名称空间本身没有直接关系,而是与此dwr名称空间的 架构位置 直接相关。
因此,用作命名空间标识符的URI可以是“任何”,并且不会访问来处理文件(我们使用基于Internet域的命名空间ID作为全局的便捷方式唯一的名称空间),有效地访问模式位置。
要解决问题,您可以下载架构,将其发布到可靠的站点上,并更改引用它的XML文件中的架构位置。
“架构”是DTD,或者现在更常见,就像这里的XSD文件一样。实际上,您需要下载以下内容。
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
然后,您可以在自己的服务器上发布spring-dwr-2.0.xsd(或者如果这些不是在线应用程序,则可以在目录中使用它),并将XML标头中的相应行更改为阅读(当然,MyOwnDomain等反映了您的实际网站):
http://www.directwebremoting.org/schema/spring-dwr
http://www.MyOwnDomain.com/SomeDirectory/spring-dwr-2.0.xsd">
以这种方式,即使directwebremoting.org网站不可用,XML处理逻辑也不会有任何延迟。
注意,有问题的XSD很可能引用其他模式,如果是这种情况,你也想下载这些模式,并确保XSD指向新位置。
答案 2 :(得分:0)