1、错误描述

严重: Dispatcher initialization failed
Unable to load configuration. - [unknown location]
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
	at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:967)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:435)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:479)
	at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.init(StrutsPrepareFilter.java:56)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4830)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5510)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: The Result type [json] which is defined in the Result annotation on the class [class com.you.action.ColumnAction] or determined by the file extension or is the default result type for the PackageConfig of the action, could not be found as a result-type defined for the Struts/XWork package [com.you.action#struts-default#/column] - [unknown location]
	at org.apache.struts2.convention.DefaultResultMapBuilder.createResultConfig(DefaultResultMapBuilder.java:450)
	at org.apache.struts2.convention.DefaultResultMapBuilder.createFromAnnotations(DefaultResultMapBuilder.java:422)
	at org.apache.struts2.convention.DefaultResultMapBuilder.build(DefaultResultMapBuilder.java:200)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.createActionConfig(PackageBasedActionConfigBuilder.java:926)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:709)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:348)
	at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:274)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
	... 21 more
三月 15, 2015 8:04:52 下午 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load configuration. - [unknown location]
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:493)
	at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.init(StrutsPrepareFilter.java:56)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4830)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5510)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: Unable to load configuration. - [unknown location]
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
	at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:967)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:435)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:479)
	... 18 more
Caused by: The Result type [json] which is defined in the Result annotation on the class [class com.you.action.ColumnAction] or determined by the file extension or is the default result type for the PackageConfig of the action, could not be found as a result-type defined for the Struts/XWork package [com.you.action#struts-default#/column] - [unknown location]
	at org.apache.struts2.convention.DefaultResultMapBuilder.createResultConfig(DefaultResultMapBuilder.java:450)
	at org.apache.struts2.convention.DefaultResultMapBuilder.createFromAnnotations(DefaultResultMapBuilder.java:422)
	at org.apache.struts2.convention.DefaultResultMapBuilder.build(DefaultResultMapBuilder.java:200)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.createActionConfig(PackageBasedActionConfigBuilder.java:926)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:709)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:348)
	at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:274)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
	... 21 more
三月 15, 2015 8:04:52 下午 org.apache.catalina.core.StandardContext startInternal
严重: Error filterStart
三月 15, 2015 8:04:52 下午 org.apache.catalina.core.StandardContext startInternal
严重: Context [/SSH] startup failed due to previous errors
三月 15, 2015 8:04:52 下午 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
严重: The web application [/SSH] created a ThreadLocal with key of type [com.sun.faces.util.Util$1] (value [com.sun.faces.util.Util$1@3ea3f4a1]) and a value of type [java.util.HashMap] (value [{com.sun.faces.patternCache={ = }}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
三月 15, 2015 8:04:52 下午 org.apache.catalina.startup.HostConfig deployDirectory

2、错误原因

/**
 *
 * @title:ColumnAction.java
 * @Package:com.you.action
 * @Description:<h3>一句话描述功能</h3>
 * @author:游海东
 * @date:2015-3-15下午4:52:52
 * @version V1.0
 *
 */
package com.you.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionSupport;
import com.you.model.ColumnChart;
import com.you.utils.RandomUtils;

/**
 *
 * 项目名称:SSH
 * 类名称:ColumnAction
 * 类描述:
 * 创建人:游海东
 * 创建时间:2015-3-15下午4:52:52
 * 修改人:游海东
 * 修改时间:2015-3-15下午4:52:52
 * 修改备注:
 * @version V1.0
 *
 */
@Component
@Controller("columnAction")
@Scope("prototype")
@ParentPackage("struts-default")
@Namespace("/column")
public class ColumnAction extends ActionSupport 
{
	/**
	 * 
	 * @Field:serialVersionUID
	 * @Field_Type:long
	 * @Field_Name:ColumnAction.java
	 *
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * 图形
	 */
	private ColumnChart cchart = new ColumnChart();
	
	/**
	 * @author YouHaidong
	 * @date 2015-03-15
	 * @throws Exception
	 * @return 字符串
	 */
	@Override
	@Action(value="columnChart",results={@Result(name="success",type="json")})
	public String execute() throws Exception 
	{
		//调用图形方法
		cchart = buildChart();
		
		return SUCCESS;
	}
	
	/**
	 * 形成柱状图
	 * 方法名:buildChart
	 * 方法类型:ColumnAction
	 * 参数:@return
	 * @return:ColumnChart
	 * @throws
	 */
	public ColumnChart buildChart()
	{
		ColumnChart chart = new ColumnChart();
		for(int i=1;i<=12;i++)
		{
			chart.setLabel(i+"月");
			chart.setValue(RandomUtils.findChart(i));
		}
		return chart;
	}

	/**
	 * @return the cChart
	 */
	public ColumnChart getCchart() 
	{
		return cchart;
	}
	
}

        由于“@ParentPackage("struts-default")”是“struts-default”,而在Action中“@Action(value="columnChart",results={@Result(name="success",type="json")})”,写成type="json"


3、解决办法

/**
 *
 * @title:ColumnAction.java
 * @Package:com.you.action
 * @Description:<h3>一句话描述功能</h3>
 * @author:游海东
 * @date:2015-3-15下午4:52:52
 * @version V1.0
 *
 */
package com.you.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionSupport;
import com.you.model.ColumnChart;
import com.you.utils.RandomUtils;

/**
 *
 * 项目名称:SSH
 * 类名称:ColumnAction
 * 类描述:
 * 创建人:游海东
 * 创建时间:2015-3-15下午4:52:52
 * 修改人:游海东
 * 修改时间:2015-3-15下午4:52:52
 * 修改备注:
 * @version V1.0
 *
 */
@Component
@Controller("columnAction")
@Scope("prototype")
@ParentPackage("struts-default")
@Namespace("/column")
public class ColumnAction extends ActionSupport 
{
	/**
	 * 
	 * @Field:serialVersionUID
	 * @Field_Type:long
	 * @Field_Name:ColumnAction.java
	 *
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * 图形
	 */
	private ColumnChart cchart = new ColumnChart();
	
	/**
	 * @author YouHaidong
	 * @date 2015-03-15
	 * @throws Exception
	 * @return 字符串
	 */
	@Override
	@Action(value="columnChart",results={@Result(name="success",location="/pages/columnChart.jsp")})
	public String execute() throws Exception 
	{
		//调用图形方法
		cchart = buildChart();
		
		return SUCCESS;
	}
	
	/**
	 * 形成柱状图
	 * 方法名:buildChart
	 * 方法类型:ColumnAction
	 * 参数:@return
	 * @return:ColumnChart
	 * @throws
	 */
	public ColumnChart buildChart()
	{
		ColumnChart chart = new ColumnChart();
		for(int i=1;i<=12;i++)
		{
			chart.setLabel(i+"月");
			chart.setValue(RandomUtils.findChart(i));
		}
		return chart;
	}

	/**
	 * @return the cChart
	 */
	public ColumnChart getCchart() 
	{
		return cchart;
	}
	
}