Struts2 ajax
我在struts2工程中使用ajax出现配置文件如法加载的问题,错误
七月 05, 2013 8:54:02 上午 com.opensymphony.xwork2.util.logging.jdk.JdkLogger error
严重: Dispatcher initialization failed
Unable to load configuration. - action - file:/F:/JAVA_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/test/WEB-INF/classes/struts.xml:12:66
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:473)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4542)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5220)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5215)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: Action class [cn.javass.ajax.AjaxAction] not found - action - file:/F:/JAVA_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/test/WEB-INF/classes/struts.xml:12:66
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:482)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:426)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:543)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:292)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:250)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
... 16 more
七月 05, 2013 8:54:02 上午 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter test
Unable to load configuration. - action - file:/F:/JAVA_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/test/WEB-INF/classes/struts.xml:12:66
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:485)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4542)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5220)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5215)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: Unable to load configuration. - action - file:/F:/JAVA_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/test/WEB-INF/classes/struts.xml:12:66
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:473)
... 14 more
Caused by: Action class [cn.javass.ajax.AjaxAction] not found - action - file:/F:/JAVA_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/test/WEB-INF/classes/struts.xml:12:66
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:482)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:426)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:543)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:292)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:250)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
... 16 more
七月 05, 2013 8:54:02 上午 org.apache.catalina.core.StandardContext startInternal
严重: Error filterStart
七月 05, 2013 8:54:02 上午 org.apache.catalina.core.StandardContext startInternal
严重: Context [/test] startup failed due to previous errors
七月 05, 2013 8:54:03 上午 org.apache.coyote.AbstractProtocolHandler start
信息: Starting ProtocolHandler ["http-bio-8080"]
七月 05, 2013 8:54:03 上午 org.apache.coyote.AbstractProtocolHandler start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
七月 05, 2013 8:54:03 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 14027 ms
<action name="ajaxAction" class="cn.javass.ajax.AjaxAction">
<result type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputstream</param>
</result>
</action>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<script type="text/javascript" language="javascript">
var myRequest;
function t1()
{
//准备向后台传输的数据
var account=document.getElementById("account").value;
//Ajax
myRequest=new ActiveXObject("Msxml2.XMLHTTP");
myRequest.onreadystatechange=t2;
myRequest.open("GET","ajaxAction.action?account="+account,true);
myRequest.send(null);
}
function t2()
{
if(myRequest.readyState==4)
{
var ret=myRequest.responseText;
//后续处理
document.all("myDiv").innerHTML=ret;
}
}
</script>
<body>
<form action="" method="post">
<table>
<tr>
<td colspan="3" align="center">新用户注册</td>
</tr>
<tr>
<td>用户账号:</td>
<td><input type="text" id="account" name="account" onblur="t1();"><font color="red">*</font></td>
<td><div id="myDiv"></div></td>
</tr>
<tr>
<td>
用户密码:
</td>
<td colspan="2"> <input type="password" id="password" name="password"></td>
</tr>
<tr>
<td>重复密码:</td>
<td colspan="2"><input type="password" id="password2" name="password2"></td>
</tr>
<tr>
<td colspan="3" align="center"> <input type="submit" value="保存注册信息"></td>
</tr>
</table>
</form>
</body>
</html>
package cn.javass.ajax.AjaxAction;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Set;
import com.opensymphony.xwork2.ActionSupport;
public class AjaxAction extends ActionSupport{
public String account;
public String password;
private InputStream inputstream;
public InputStream getInputstream() {
return inputstream;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
//准备已经注册的数据,测试使用
System.out.println("运行这里了");
Set<String> set=new HashSet<String>();
set.add("account1");
set.add("account2");
set.add("account3");
if(set.contains(account))
{
inputstream=new ByteArrayInputStream("输入不正确,请重新输入".getBytes("utf-8"));
}
else
{
inputstream=new ByteArrayInputStream("输入正确".getBytes("utf-8"));
}
return this.SUCCESS;
}
}