ExtJS下 Ext.Direct加载和提交过程排错小结


Posted in Javascript onApril 02, 2013

偶泪滴嘎嘎,终于,终于完成了一部分ExtJS。
(基础夯实一点,会有好处的,排错的时候就体现出来了)
下面就Ext.Direct做一些排错笔记:

错误一

严重: StandardWrapper.Throwable 
java.lang.ArrayIndexOutOfBoundsException: 1 
at com.softwarementors.extjs.djn.api.RegisteredStandardMethod.isValidFormHandlingMethod(RegisteredStandardMethod.java:53) 
at com.softwarementors.extjs.djn.scanner.Scanner.scanAndRegisterActionClass(Scanner.java:206) 
at com.softwarementors.extjs.djn.scanner.Scanner.scanAndRegisterActionClass(Scanner.java:105) 
at com.softwarementors.extjs.djn.scanner.Scanner.scanAndRegisterApiConfiguration(Scanner.java:82) 
at com.softwarementors.extjs.djn.scanner.Scanner.scanAndRegisterApiConfigurations(Scanner.java:64) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.createDirectJNgineRouter(DirectJNgineServlet.java:182) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.init(DirectJNgineServlet.java:155) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
2013-3-28 17:43:52 org.apache.catalina.core.StandardContext loadOnStartup

这是为什么呢?
答案:
@DirectFormPostMethod
这个不对,这个产生了上面的错误,改成: @DirectMethod
同时删掉,由@DirectFormPostMethod生成的输出:
import com.softwarementors.extjs.djn.config.annotations.DirectFormPostMethod;

错误二
ERROR: com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor - "(Controlled) server error: 1 for Method 'FormAction.submitData'" (rid=1000) 
java.lang.ArrayIndexOutOfBoundsException: 1 
at com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor.checkJsonMethodParameterTypes(JsonRequestProcessor.java:352) 
at com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor.getIndividualRequestParameters(JsonRequestProcessor.java:247) 
at com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor.processIndividualRequest(JsonRequestProcessor.java:404) 
at com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor.processIndividualRequestsInThisThread(JsonRequestProcessor.java:143) 
at com.softwarementors.extjs.djn.router.processor.standard.json.JsonRequestProcessor.process(JsonRequestProcessor.java:126) 
at com.softwarementors.extjs.djn.router.RequestRouter.processJsonRequest(RequestRouter.java:83) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.processRequest(DirectJNgineServlet.java:617) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.doPost(DirectJNgineServlet.java:580) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source)

控制层出错,也就是逻辑上不对,我的函数里面要求传入的参数,和提交的参数不对,
放心,不是xml配置问题,是传入的参数问题。所以重点在参数上,也就是语法。

我的错误原因
Java要求传入的参数为两个:

public Info submitData(String name,String password)

而我在ExtJS 中实际传入的参数是一个:
var params= username.getValue()+Password.getValue(); 
FormAction.submitData(params,function(result,e){}

改写一下就行了:
FormAction.submitData(username.getValue(),Password.getValue(),function(result,e){}

错误三
FATAL: com.softwarementors.extjs.djn.servlet.DirectJNgineServlet - "Unable to find class 'com.softwarementors.extjs.djn.test.config.GsonBuilderConfiguratorForTesting'" () 
com.softwarementors.extjs.djn.servlet.ServletConfigurationException: Unable to find class 'com.softwarementors.extjs.djn.test.config.GsonBuilderConfiguratorForTesting' 
at com.softwarementors.extjs.djn.servlet.ServletConfigurationException.forClassNotFound(ServletConfigurationException.java:63) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.getGsonBuilderConfiguratorClass(DirectJNgineServlet.java:362) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.createGlobalConfiguration(DirectJNgineServlet.java:324) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.createDirectJNgineRouter(DirectJNgineServlet.java:164) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.init(DirectJNgineServlet.java:155) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: com.softwarementors.extjs.djn.test.config.GsonBuilderConfiguratorForTesting 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) 
at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Unknown Source) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.getGsonBuilderConfiguratorClass(DirectJNgineServlet.java:353) 
... 16 more 
2013-3-28 17:59:39 org.apache.catalina.core.ApplicationContext log 
严重: StandardWrapper.Throwable 
com.softwarementors.extjs.djn.servlet.ServletConfigurationException: Unable to find class 'com.softwarementors.extjs.djn.test.config.GsonBuilderConfiguratorForTesting' 
at com.softwarementors.extjs.djn.servlet.ServletConfigurationException.forClassNotFound(ServletConfigurationException.java:63) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.getGsonBuilderConfiguratorClass(DirectJNgineServlet.java:362) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.createGlobalConfiguration(DirectJNgineServlet.java:324) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.createDirectJNgineRouter(DirectJNgineServlet.java:164) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.init(DirectJNgineServlet.java:155) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: com.softwarementors.extjs.djn.test.config.GsonBuilderConfiguratorForTesting 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) 
at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Unknown Source) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.getGsonBuilderConfiguratorClass(DirectJNgineServlet.java:353) 
... 16 more 
2013-3-28 17:59:39 org.apache.catalina.core.StandardContext loadOnStartup 
严重: Servlet /DirectJS threw load() exception 
java.lang.ClassNotFoundException: com.softwarementors.extjs.djn.test.config.GsonBuilderConfiguratorForTesting 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) 
at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Unknown Source) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.getGsonBuilderConfiguratorClass(DirectJNgineServlet.java:353) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.createGlobalConfiguration(DirectJNgineServlet.java:324) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.createDirectJNgineRouter(DirectJNgineServlet.java:164) 
at com.softwarementors.extjs.djn.servlet.DirectJNgineServlet.init(DirectJNgineServlet.java:155) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source)

原因是里面没有这个类
com.softwarementors.extjs.djn.test.config.GsonBuilderConfiguratorForTesting
这个错误在web.xml里面,把它们删了就行了:
<init-param> 
<param-name>registryConfiguratorClass</param-name> 
<param-value>com.softwarementors.extjs.djn.test.servlet.config.RegistryConfiguratorForTesting</param-value> </init-param> 
<init-param> 
<param-name>gsonBuilderConfiguratorClass</param-name> 
<param-value>com.softwarementors.extjs.djn.test.config.GsonBuilderConfiguratorForTesting</param-value></init-param>

大概就这三个,我的情况就是这样。
(MLGBD,我在百度发博文被封杀了,已经是第四篇了,我再也不再百度写博客了,R百度)
给我的样例URL吧:
http://www.kuaipan.cn/file/id_22384145481082698.htm
Javascript 相关文章推荐
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
Dec 04 Javascript
简体中文转换繁体中文(实现代码)
Dec 25 Javascript
JavaScript阻止浏览器返回按钮的方法
Mar 18 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
jQuery使用drag效果实现自由拖拽div
Jun 11 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
Dec 26 Javascript
JS button按钮实现submit按钮提交效果
Nov 01 Javascript
深入理解JavaScript中的预解析
Jan 04 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
浅谈vue-router 路由传参的方法
Dec 27 Javascript
从理论角度讨论JavaScript闭包
Apr 03 Javascript
JavaScript实现电灯开关小案例
Mar 30 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 #Javascript
UpdatePanel和Jquery冲突的解决方法
Apr 01 #Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
Apr 01 #Javascript
js 获取(接收)地址栏参数值的方法
Apr 01 #Javascript
表格单元格交错着色实现思路及代码
Apr 01 #Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
Apr 01 #Javascript
Js 时间函数getYear()的使用问题探讨
Apr 01 #Javascript
You might like
php xml文件操作实现代码(二)
2009/03/20 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
Cordova(ionic)项目实现双击返回键退出应用
2019/09/17 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
200行自定义python异步非阻塞Web框架
2017/03/15 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
Python库安装速度过慢解决方案
2020/07/14 Python
大学生党课思想汇报
2013/12/29 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
学生评语大全
2014/04/18 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
忠诚教育心得体会
2014/09/03 职场文书
委托书格式范文
2015/01/28 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书