遇到一个很纳闷的问题,我用的SSH框架,然后再jsp页面用ajax获取后台的action,json是确定有数据的,但是如果不把中间的那段代码注释掉,tomcat就会不能启动,导致eclipse未响应,如果注释掉,就能正常的获取数据,这是为什么啊,我觉得问题出在了图中划红线的部分,但是在action测试,可以通过的啊,各位,有谁能讲解一下么
这个是注释之前的,可以在action运行,测试没问题,json有数据
这是启动tomcat的时候卡住的情况,地址栏里也没有信息,就卡住了,然后eclipse就会未响应
这是注释掉以后的action,如果注释掉就可以正常运行了
这是正常运行的页面,但是我还需要拿到主使部分的数据
最后我觉得问题是出在了这个查询上面,但是这是为什么呢
你把你这个里面的语句在工具上运行一下看看呢
既然是SSH 框架,那为什么用Ajax来传值,直接用Struts里面传值返回不就行了吗,具体是哪个查询有问题,看Tomcat的日志或者你自己加断点看看能不能到那里就行了啊。
不打印错误日志的原因是你没有进行异常捕获和抛出,你把代码如此修改一下,应该就会有异常打印出来,看下日志信息,修改代码如下:
在你化红色横线的呢句代码try...catch下,如下:
try{
画横线呢句代码
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}
然后跑一边,看下错误日志,
另外,Struts框架的返回值是你要跳转的页面,并不是你要返回的结果,springmvc才是要返回的结果,所以你打印json应该是response.getWriter().print(result);最后返回的时候,return null;这样才对,你呢个本身就错误,
还有,用Struts没人如你呢样用,你的呢种用法,一个类只能处理一个方法,我忘记专业术语了,好久没用Struts了,都是继承的哪个类来着,不是实现接口,你学的东西应该学混了,还不精通,控制层框架精通一个就ok了,现在用的都是springmvc,话说是当前最快的控制层框架,