第三节(上):struts.xml 文件结构说明

来源:互联网 发布:多益网络面试 编辑:程序博客网 时间:2024/05/22 12:37
<?xml version="1.0" encoding="GBK"?><!--下面指定Struts2配置文件的DTD信息--><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><!-- struts是Struts2配置文件的根元素--><struts><!-- 下面元素可以出现0次,也可以无限多次--><constant name="" value=""/><!-- 下面元素可以出现0次,也可以无限多次--><bean type="" name="" class="" scope="" static="" optional=""/><!-- 下面元素可以出现0次,也可以无限多次--><include file=""/><!-- package元素是Struts配置文件的核心,该元素可以出现0次,或者无限多次--><package name="必填的包名" extends="" namespace="" abstract=""externalReferenceResolver=""><!-- 该元素可以出现,也可以不出现,最多出现一次 --><result-types><!-- 该元素必须出现,可以出现无限多次 --><result-type name="" class="" default="true|false"><!-- 下面元素可以出现0次,也可以出现无限多次 --><param name="参数名">参数值</param></result-type></result-types><!-- 该元素可以出现,也可以不出现,最多出现一次 --><interceptors><!-- 该元素的interceptor元素和interceptor-stack至少出现其中之一,也可以两者都出现 --><!-- 下面元素可以出现0次,也可以出现无限多次 --><interceptor name="" class=""><!-- 下面元素可以出现0次,也可以出现无限多次 --><param name="参数名">参数值</param></interceptor><!-- 下面元素可以出现0次,也可以出现无限多次 --><interceptor-stack name=""><!-- 该元素必须出现,可以出现无限多次 --><interceptor-ref name=""><!-- 下面元素可以出现0次,也可以无限多次 --><param name="参数名">参数值</param></interceptor-ref></interceptor-stack></interceptors><!-- 下面元素可以出现0次,也可以无限多次 --><default-interceptor-ref name=""><!-- 下面元素可以出现0次,也可以无限多次 --><param name="参数名">参数值</param></default-interceptor-ref><!-- 下面元素可以出现0次,也可以无限多次 --><default-action-ref name=""><!-- 下面元素可以出现0次,也可以无限多次 --><param name="参数名">参数值</param></default-action-ref><!-- 下面元素可以出现0次,也可以无限多次 --><global-results><!-- 该元素必须出现,可以出现无限多次 --><result name="" type=""><!-- 该字符串内容可以出现0次或多次 -->映射资源<!-- 下面元素可以出现0次,也可以无限多次 --><param name="参数名">参数值</param></result></global-results><!-- 下面元素可以出现0次,也可以无限多次 --><global-exception-mappings><!-- 该元素必须出现,可以出现无限多次 --><exception-mapping name="" result="" exception="">异常处理资源<!-- 下面元素可以出现0次,也可以无限多次 --><param name="参数名">参数值</param></exception-mapping></global-exception-mappings><!-- 下面元素可以出现0次,也可以无限多次 --><action name="" class="" method=""><!-- 下面元素可以出现0次,也可以无限多次 --><param name="参数名">参数值</param><!-- 下面元素可以出现0次,也可以无限多次 --><result name="" type="">映射资源<!-- 下面元素可以出现0次,也可以无限多次 --><param name="参数名">参数值</param></result><!-- 下面元素可以出现0次,也可以无限多次 --><interceptor-ref name=""><!-- 下面元素可以出现0次,也可以无限多次 --><param name="参数名">参数值</param></interceptor-ref><!-- 下面元素可以出现0次,也可以无限多次 --><exception-mapping result="" exception="">异常处理资源<!-- 下面元素可以出现0次,也可以出现多次 --><param name="参数名">参数值</param></exception-mapping></action></package></struts>

注意:在struts.xml文件中定义标签的出现顺序有要求,interceptors标签必须定义在action标签之前。如果顺序错乱将会提示如下错误信息:

The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)"

不过错误提示启动项目则会启动失败,错误信息如下:

严重: The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)". at (null:56:12)org.xml.sax.SAXParseException: The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)".at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(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 javax.xml.parsers.SAXParser.parse(Unknown Source)at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:117)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1017)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:165)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:132)at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:225)at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)at org.apache.catalina.core.StandardService.start(StandardService.java:516)at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at org.apache.catalina.startup.Catalina.start(Catalina.java:566)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2014-1-22 2:16:47 com.opensymphony.xwork2.util.logging.jdk.JdkLogger error严重: Dispatcher initialization failedUnable to load configuration. - file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml:56:12at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)at org.apache.catalina.core.StandardService.start(StandardService.java:516)at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at org.apache.catalina.startup.Catalina.start(Catalina.java:566)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)Caused by: Unable to load file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml - file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml:56:12at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1022)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:165)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:132)at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:225)at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)... 30 moreCaused by: The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)". - file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml:56:12at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:119)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1017)... 34 moreCaused by: org.xml.sax.SAXParseException: The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)".at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(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 javax.xml.parsers.SAXParser.parse(Unknown Source)at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:117)... 35 more2014-1-22 2:16:47 org.apache.catalina.core.StandardContext filterStart严重: Exception starting filter struts2Unable to load configuration. - file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml:56:12at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:502)at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)at org.apache.catalina.core.StandardService.start(StandardService.java:516)at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)at org.apache.catalina.startup.Catalina.start(Catalina.java:566)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)Caused by: Unable to load configuration. - file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml:56:12at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)... 28 moreCaused by: Unable to load file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml - file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml:56:12at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1022)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:165)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:132)at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:225)at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)... 30 moreCaused by: The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)". - file:/G:/apache-tomcat-6.0.13/webapps/struts2HelloWorld/WEB-INF/classes/struts.xml:56:12at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:119)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:1017)... 34 moreCaused by: org.xml.sax.SAXParseException: The content of element type "package" must match "(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)".at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(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 javax.xml.parsers.SAXParser.parse(Unknown Source)at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:117)... 35 more2014-1-22 2:16:47 org.apache.catalina.core.StandardContext start严重: Error filterStart2014-1-22 2:16:47 org.apache.catalina.core.StandardContext start严重: Context [/struts2HelloWorld] startup failed due to previous errors


0 0
原创粉丝点击