问题描述
- 异常信息:
第一类错误
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
第二类错误
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is (这里是包名)] with root cause
2.原因分析:
1>
首先报错是和DispatcherServlet 有关,那肯定就是MVC的映射出了问题,通俗的理解,就是:JVM编译期有个 servlet 加载/调用失败了。
2>
首先这里问题出现了包名,那么我们合理怀疑是某个文件放错了位置,导致扫描时找不到包名。
3.可能出现的问题与解决方式:
1>
(1) Controllor 层引入的 Service 接口上面忘记写@Resource 或 @Autowired 注解,区别在于这是人为造成的项目编译期找不到某个类。
(2) 解决办法:仔细检查程序,在引入的Service层实现类上添加注解 @Autowired 或 @Resource 注解。
2>
(1)启动文件的位置错误
(2)解决方式:将启动文件放在可以和公共文件一样的地方。如图所示
公共文件出现在cn.lili,因此service-security的启动
文件SecurityApp不能放在common文件扫不到的地方
也就是cn.lili下,而不是cn.lili.security下
4.总结
1>注意注解是否添加完整
2>注意启动文件放置的位置