今天在开发过程中,增加了几个js文件,在jsp文件中引入后,但是浏览器中一直报 改对象没有定义。然后我尝试了各种方法,新写个文件再次引入,结果发生了一个更诡异的结果,第一次访问该页面的时候,依旧报该对象没有定义,但是第二次就正常了,出现这种情况的原因还在探究中。不过,最主要的罪魁祸首,是tomcat的缓存。
tomcat有一个work目录,里面存放了页面的缓存,访问的jsp都会编译(从 work里进入Catalina后的如localhost站点文件夹下的项目,我们可以看到那些jsp页面会被编译成应该是servlet文件,下次再来 访问时,就直接运行servlet类就可以向客户端反应响应页面了,所以有的博客说第一次访问时会比较慢,是因为新发布上去的页面在第一个人访问时,会先 编译成servlet文件,所以慢了,一旦编译好,那么除非jsp页面修改,不然下次访问直接运行servlet就可以响应用户,所以快),