起因:学习SpringMVC的过程中,发现入口不是书上的DispatcherServlet,而是它的父类FrameworkServlet的service()方法,
即JSP的HttpServlet 接口定义的service()。但是debug跟踪 FrameworkServlet的service()方法,是无法debug模式进入到HttpServlet的。
原因猜测是tomcat用的HttpServlet 是来源自自己的 %CATALINA_HOME%\lib目录下的servlet-api.jar 。 如果自己删除掉这个jar,并把jar里的
代码复制黏贴到用户项目目录里,是无法正常启动的。应该tomcat 对自身的需要的jar 和 用户项目的jar是分开管理导致的。那是不是意味着永远debug
不到那行代码了?
-----------------------------
最后把servlet-api.jar的源码包下了过来,在修改相关的class加上日志输出语句,替换正常jar包里的class文件可以进行debug.