【解决】Caused by: org.apache.tiles.definition.DefinitionsFactoryException: I/O

使用springmvc tiles模板框架的时候出现如下错误

Caused by: org.apache.tiles.definition.DefinitionsFactoryException: I/O Error reading definitions.     at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:273)     at org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:286)     at org.apache.tiles.definition.UrlDefinitionsFactory.init(UrlDefinitionsFactory.java:130)     at org.apache.tiles.impl.BasicTilesContainer.initializeDefinitionsFactory(BasicTilesContainer.java:406)     at org.apache.tiles.impl.BasicTilesContainer.init(BasicTilesContainer.java:130)     at org.apache.tiles.factory.TilesContainerFactory.initializeContainer(TilesContainerFactory.java:232)     at org.apache.tiles.factory.TilesContainerFactory.createTilesContainer(TilesContainerFactory.java:198)     at org.apache.tiles.factory.TilesContainerFactory.createContainer(TilesContainerFactory.java:163)     at org.apache.tiles.web.startup.TilesListener.createContainer(TilesListener.java:90)     at org.apache.struts2.tiles.StrutsTilesListener.createContainer(StrutsTilesListener.java:68)     at org.apache.tiles.web.startup.TilesListener.contextInitialized(TilesListener.java:57)     ... 15 more Caused by: java.net.SocketException: Connection reset     at java.net.SocketInputStream.read(Unknown Source)     at java.io.BufferedInputStream.fill(Unknown Source)     at java.io.BufferedInputStream.read1(Unknown Source)     at java.io.BufferedInputStream.read(Unknown Source)     at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)     at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)     at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)     at org.apache.commons.digester.Digester.createInputSourceFromURL(Digester.java:2072)     at org.apache.commons.digester.Digester.resolveEntity(Digester.java:1725)     at com.sun.org.apache.xerces.internal.util.EntityResolverWrapper.resolveEntity(Unknown Source)     at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntityAsPerStax(Unknown Source)     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(Unknown Source)     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(Unknown Source)     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)     at org.apache.commons.digester.Digester.parse(Digester.java:1887)     at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:267)

解决方法修改tilesContext.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">

把上面的替换成下面的,原来使用的是tiles 2.1 dtd文件修改成3.0问题解决

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

第二种方法把.dtd文件下载下来 放到tilesContext.xml同级目录 不需要网上验证语法规则,

下载地址 http://tiles.apache.org/dtds/tiles-config_3_0.dtd,tilesContext.xml头文件内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
       "tiles-config_3_0.dtd">

转载于:https://my.oschina.net/zrz1992/blog/1489146

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误是由JSP页面中的某些问题引起的。具体来说,org.apache.jasper.jasperexceptionApache Tomcat服务器框架中的一个异常类。在这个错误中,/index.jsp表示出现错误的JSP页面路径。 这个错误通常是由以下几个原因引起的: 1. 语法错误:在JSP页面中可能存在语法错误,如缺少分号、括号不匹配等。这可能导致服务器无法正确解析JSP页面,并抛出上述异常。 2. 引用错误:JSP页面中可能引用了一个不存在的对象或者方法。这可能是由于代码中的拼写错误、删除了某些依赖项或者引入了错误的包导致的。 3. 缺少依赖项:JSP页面可能使用了某些外部依赖项,如Java类、类库或配置文件。如果这些依赖项缺失或配置错误,服务器将无法加载JSP页面并抛出异常。 4. 异常处理错误:JSP页面中的异常处理可能存在问题,如不能正确捕获或处理异常。这可能导致异常被传递到服务器层面,并最终导致该异常。 解决这个问题的方法包括: 1. 仔细检查JSP页面的代码,确保没有语法错误。可以使用IDE或文本编辑器来帮助检查拼写错误、缺少分号等。 2. 确认JSP页面的依赖项是否正确引入,以及是否存在缺失的依赖项。可以检查JSP页面中的import语句、类路径或配置文件是否正确。 3. 检查JSP页面中的异常处理代码,确保异常被正确捕获和处理。 4. 日志记录:查看Tomcat服务器的日志文件,可能会提供有关问题的更多详细信息,如具体的错误消息或堆栈跟踪。根据日志中的提示,进行相应的修改或调试。 总之,要解决这个问题,需要仔细检查JSP页面的代码、依赖项和异常处理,并根据具体的错误提示进行相应的修改。 ### 回答2: 该错误信息表明在处理/index.jsp页面时发生了一个异常。首先,"caused by" 表示这个异常的原因是什么。接下来,"org.apache.jasper.jasperexception"是异常的类型。最后,"/index.jsp"是发生异常的页面。 具体情况可能有很多种可能原因。这种异常通常出现在JSP页面编译或执行过程中的问题。以下是一些可能导致此异常的原因: 1. 语法或语义错误:JSP页面代码中可能存在错误,例如语法错误、拼写错误或逻辑错误。在编译过程中,这些错误可能会触发异常。 2. 缺少依赖项:JSP页面可能依赖于一些在服务器上不存在或配置不正确的库或资源。这可能是由于错误的配置、缺少jar文件或错误的类路径设置。 3. 编译器问题:某些版本的编译器可能存在错误,导致无法正确编译JSP页面。考虑尝试更新编译器或使用不同的编译器版本。 4. 配置问题:服务器的配置可能不正确,导致无法正确处理JSP页面。验证服务器的配置文件,尤其是与JSP相关的配置。 要解决这个问题,你可以尝试以下几个步骤: 1. 检查在/index.jsp页面中是否有任何语法或语义错误。检查是否有拼写错误、缺少分号或花括号等错误。 2. 确保服务器上存在并正确配置所需的库和资源。验证所需的jar文件是否存在,并检查类路径设置是否正确。 3. 尝试更新编译器或使用不同的编译器版本,以避免由于编译器错误导致的异常。 4. 验证服务器的配置文件,确保JSP相关的配置正确。 如果以上步骤都没有解决问题,你可以通过详细检查错误日志、搜索互联网上类似问题的解决方案或寻求专业的技术支持来解决该异常。 ### 回答3: 这个错误是由于在/index.jsp页面上发生了org.apache.jasper.JasperException异常引起的。该异常通常是由于JSP本身的问题或JSP引擎的配置问题导致的。 引发该异常的原因可能有以下几种情况: 1. 语法错误:在/index.jsp中可能存在JSP语法错误,例如在HTML标签或Java代码中存在拼写错误、缺少关闭标签或分号等。 2. 引用错误:/index.jsp页面可能在其代码中引用了不存在的类、方法或变量。这可能是由于项目依赖关系错误或缺少必要的类库引起的。 3. 配置错误:JSP引擎的配置文件可能存在问题,导致在编译/index.jsp页面时无法正确解析其中的语法或依赖关系。 为了解决这个问题,可以采取以下方法: 1. 检查/index.jsp页面的代码,确保其中没有语法错误或引用错误。 2. 检查项目的依赖关系,确保所需的类库已正确配置并包含在项目中。 3. 检查JSP引擎的配置文件,确认其中没有任何错误配置导致的问题。 如果以上方法无法解决问题,可以根据具体的异常信息进一步调查和尝试其他解决方案。根据错误消息的内容,可以更准确地推断和定位问题的原因,进而采取相应的修复措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值