SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑

1. 问题描述 今日学习SpringMVC,参考这个视频,请求some.do时,无法返回页面
基本状态是:
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

或者
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

后续陆续出现了各种错误:
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

2. 问题分析 搜索了很多相关解答,但都无法解决,于是从头创建SpringMVC+Maven项目(Maven项目后期处理问题很棘手,对Idea的相关配置不熟悉)。
等到最后出现了新的问题,于是感觉有希望,在Tomcat server页面中报错信息大概这样:

com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionExceptionD:\Projects\P01_JavaPojects\Spring_MVC\CH01_SpringMVC\target\CH01_SpringMVC-1.0-SNAPSHOT not found

经过这么长时间的解决bug,有点思路,之前一直提示的是DispatcherServlet什么没有初始化,然后找不到类
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

原因就是: 项目一直没有编译.主要是使用springmvc方式创建的一个代替Servlet但不是Servlet的自定义控制器类(MyController.java)没有编译!,没有编译!没有编译!没有编译!没有编译!。
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

类都没有被编译,对象也就无法被创建。请求也无法实现
PS: 在解决bug期间,特地添加了测试输出语句测试请求是否有效,可控制台也没有语句输出
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

说明请求无效,控制器方法也没有执行。
3. 问题解决 既然原因是相关类文件没有被编译,则需要设置
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

【SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑】设置后,再次请求则可以见到用于测试的语句在控制台输出
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

说明请求是正常的!
经过测试,似乎不需要勾选上一步的选项按钮,重启Tomcat,也可以正常访问。不管怎样,总之,一定要确定编译后的文件是否存在!一定要确定编译后的文件是否存在!一定要确定编译后的文件是否存在!
SpringMVC+Maven+Tomcat|SpringMVC+Maven+Tomcat 踩坑
文章图片

小结:
  • 这个bug或者坑解决了2天,第一次学习SpringMVC,对于idea,maven以及springmvc机制不熟悉,耽误了很久(对于心态造成了很大影响)
  • 遇到问题不要慌,一定要查看问题的原因寻求好的问题解决平台,善用google
  • 当前问题解决不了,不如尝试能否改变问题,寻求新的解决方案
  • 对于底层原理要掌握,对于基础要重视,不然遇到问题无法解决
  • 遇到问题,可以从侧面的强迫自己理解当前学习的技术,应用,这种体验是真实的,刻骨铭心的,只不过在解决问题之前的阶段都是处于痛苦折磨之中,走出去,将会得到新的提升。
相关文章:
  • https://blog.csdn.net/qq_3462...

    推荐阅读