2-9 报500的错误,原因和已有问题不一样
来源:2-10 验证Controller
Cris_hu
2018-01-09
url正确,假如我输入http://localhost:8080/o2o/能访问到欢迎页面,但是输入http://localhost:8080/o2o/superadmin/listarea会报如下错误:
HTTP Status 500 - org/springframework/context/ApplicationContextAware
type Exception report
message org/springframework/context/ApplicationContextAware
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2474)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:855)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1304)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1163)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2474)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:855)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1304)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1163)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)
root cause
java.lang.ClassNotFoundException: org.springframework.context.ApplicationContextAware
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1335)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1163)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2474)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:855)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1304)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1163)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2474)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:855)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1304)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1163)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)
5回答
-
请问同学的问题解决了吗?同学解决不了翔仔也和同学一样焦虑呢 :)
092018-01-10 -
翔仔
2018-01-09
希望同学有时间一定一定要学习maven,这个是项目的很少有的门槛之一。。非常好学的,慕课网里面还有相关的免费课 讲得非常详细。。
00 -
翔仔
2018-01-09
同学先得明确下配置,以下的截图是开发前必须的,一般学习java的同学都需要有以下的环境,同学按照我的截图来配置一下,然后再看看项目的问题是否得到解决了
这个是cmd里必须的
下面是eclipse里对接的配置
否则POM即便配置了 也是无效的
配置完成后右键你的项目
然后按照截图来
这个已经够详细啦,并且是非常基础的,这块希望同学过后好好学习一下,接下来靠同学了
092018-01-10 -
翔仔
2018-01-09
同学好,感觉还是项目配置的问题,跟maven或者跟tomcat相关
同学一般解决这类问题可以先定位错误,一般在cause语句附近,然后把错误贴上网去找找就能找到
这里是
root cause
java.lang.ClassNotFoundException: org.springframework.context.ApplicationContextAware
即找不到spring相关的类,即运行的时候缺乏这个jar包,虽然项目pom可能配置了,但是实际发布的时候还没有,需要看看:
repository里面有spring相关jar并且下载是有效的,这个可以一刀切 直接清空repository下面的文件再次重新通过update maven project下载
clean一下tomcat然后重新发布一版运行一下
具体也可以参照以下链接处理
http://blog.csdn.net/you23hai45/article/details/46897805
https://www.cnblogs.com/zhouyalei/archive/2011/11/30/2268606.html
http://blog.csdn.net/you23hai45/article/details/46897805
一般就这三种 同学分别看看,有问题继续提问哈 :)
082018-01-09 -
Cris_hu
提问者
2018-01-09
Controller代码:
package com.o2o.web.superadmin;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.o2o.service.AreaService;
import com.o2o.entity.Area;
@Controller
@RequestMapping("/superadmin")
public class AreaController {
@Autowired
private AreaService areaService;
@RequestMapping(value="/listarea",method=RequestMethod.GET)
@ResponseBody
private Map<String, Object> listArea(){
Map<String,Object> modelMap=new HashMap<String,Object>();
List<Area> list=new ArrayList<Area>();
try{
list=areaService.getAreaList();
modelMap.put("rows",list);
modelMap.put("total", list.size());
}catch(Exception e){
e.printStackTrace();
modelMap.put("success",false);
modelMap.put("errMSG", e.toString());
}
return modelMap;
}
}
00
相似问题