-2

在启动tomcat时,我收到了这个错误:

    Caused by: java.io.FileNotFoundException: http://struts.apache.org/dtds/struts-2.3.dtd
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1401)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:654)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1292)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1259)
    at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:260)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1169)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1065)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:978)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:392)
    at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:113)
    ... 28 more

我的代码一直工作到最后一天。今天,当我尝试启动 tomcat 时出现此错误。我在我的项目中使用 struts2-core-2.2.1.1.jar 和 struts2-jquery-plugin-3.3.1.jar 文件。

为什么我的代码只是停止工作?相同的代码工作到昨天。

还链接http://struts.apache.org/dtds/struts-2.3.dtd给出 404 错误。在该位置找不到文件。

4

2 回答 2

1

您的代码不应尝试在线访问 dtd。

你不应该假设 dtd URI是一个有效的URL,即使这通常也是一个 URL。

您可以提供一个本地的、可访问的 DTD 路径。

一般来说,你不应该假设你的服务器可以访问“互联网”来处理这些事情,这是不可靠的。

编辑:使用 struts 2.3.8 可能会解决问题。

http://mvnrepository.com/artifact/org.apache.struts/struts2-core/2.3.8
于 2013-02-13T09:33:29.647 回答
0

昨天,当以前工作的网络应用程序停止工作并出现上述错误时,我遇到了完全相同的问题。经过一番摸索,这是 2013 年 2 月 12 日至 2013 年 2 月 13 日的一个问题,是由 Apache Struts 项目迁移服务器引起的。从今天早上(格林威治标准时间 06:00)起,网址http://struts.apache.org/dtds/struts-2.3.dtd现在可以再次使用 - 但是,尝试下载最新版本的 Struts (2.3.8)我仍然是 403 禁止响应。

于 2013-02-14T13:15:45.373 回答