zoukankan      html  css  js  c++  java
  • Struts2整理-----异常以及处理

    1.There is no result type defined for type 'chart' mapped with name 'success'

    在struts2与JFreeChart整合使用时,直接配置如下action

    <!-- 图表输出action -->
      <action name="ChartOutputAction" class="chartOutputAction">
       <result name="success" type="chart">
        <param name="height">300</param>
        <param name="width">400</param>
       </result>
      </action>

    出现这样的异常:

    Caused by: There is no result type defined for type 'chart' mapped with name 'success'.  Did you mean 'chart'? - result - file:/D:/apache-tomcat-7.0.35/webapps/DAQ/WEB-INF/classes/struts.xml:114:40
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:721)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:435)
        ... 21 more

    解决:

    在struts2默认的struts-default.xml中,并没有包含chart的result-type,它是插件的形式使用的。

    PS:关于result-type详细介绍 http://blog.csdn.net/liyunyun6/article/details/9730505

    项目中导入struts2-jfreechart-plugin-2.3.15.1.jar,同时在struts.xml里面增加一个chart的result-type。

         <result-types>
                <result-type name="chart"
                    class="org.apache.struts2.dispatcher.ChartResult" />
            </result-types>
            <!-- 图表输出action -->
            <action name="ChartOutputAction" class="chartOutputAction">
                <result name="success" type="chart">
                    <param name="height">300</param>
                    <param name="width">400</param>
                </result>
            </action>

     

    2.struts2 Unable to load configuration. - Class: sun.net.www.http.HttpClient

    struts2 启动后台出现这样的错误

    File: HttpClient.java
    Method: parseHTTPHeader
    Line: 772 - sun/net/www/http/HttpClient.java:772:-1
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:898)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:143)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:110)
     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:168)
     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
     ... 16 more
    Caused by: Unexpected end of file from server - Class: sun.net.www.http.HttpClient
    File: HttpClient.java
    Method: parseHTTPHeader
    Line: 772 - sun/net/www/http/HttpClient.java:772:-1
     at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:893)
     ... 20 more
    Caused by: java.net.SocketException: Unexpected end of file from server
     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:772)
     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769)
     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323)
     at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:637)
     at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1290)
     at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1257)
     at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:263)
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1164)
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1050)
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:964)
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
     at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:113)
     ... 21 more

    解决:

    struts.xml 和struts-default.xml文件的DOCTYPE不一样, 只需要把struts-default.xml中的doctype代码copy到struts.xml中的,问题即可解决; 

    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">

    strtus.xml中使用的dtd是struts-2.1.dtd, 而 struts-default.xml中使用的是struts-2.0.dtd

  • 相关阅读:
    联合主键SQL 联合索引
    SQL 对decimal类型转换为int类型
    SQL获取当前时间月份为两位数
    SQL 对结果集进行分组排序过滤重复数据 ROW_NUMBER
    SQL自动流水号函数
    SQL 索引创建
    .Net三层架构
    2016年你应该学习的语言和框架(转)
    MongoDB学习笔记(转)
    干货分享:让你分分钟学会 javascript 闭包(转)
  • 原文地址:https://www.cnblogs.com/haaron/p/5120674.html
Copyright © 2011-2022 走看看