总的来说,Jasper的自己主动检測实现的机制比較简单,依靠某后台线程不断检測JSP文件与编译后的class文件的最后改动时间是否同样,若同样则觉得没有改动.但倘若不同则须要又一次编译.实际上因为在Tomcat部署的项目的JSP可能引入了其它页面.或者引入了其它jar包,并且这些资源都可能是远程的资源,所以实际处理会比較复杂,同样要遍历检測这些引入的不同资源是否做了改动. 上图是一个形象的示意图.我们知道Tomcat架构中有四个级别的容器,Engine.Host.Context和Wrapper,…