最近在给客户部署系统后,进行UAT测试的时候,发现一些小问题(是一些jsp文件),改好后,就进行增量发布了,可是后来在页面刷新的时候,怎么都是显示不出来效果,后来就把服务websphere重启后,页面还是没有出现效果,这时就想到了,可能是由于缓存的原因,后来进入相关目录后,还真的发现了,jsp编译后的.class文件,删掉后,再次刷新页面,就OK了,记录下来,供以后小伙伴们遇到相似的问题,能够快速的解决。
当我们在websphere中修改了jsp后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存,项目的部署的目录(或者是war包系统自动解压后的路径)为:
D:IBMWebSphereAppServerprofilesAppSrv01installedAppsxxxxNode01Cell项目名_war.ear项目名.war
在这个目录下更新了某个jsp页面,后在浏览器里面查看的时候,发现页面没有改变。这时我们需要查看一下缓存目录,存放应用临时文件的地方:
D:IBMWebSphereAppServerprofilesAppSrv01 empxxxxNode01server1项目名_war项目名.war 在这目录下,可以看到有很多class文件,都是jsp编译过来的,对应我们应用目录下的jsp文件,于是找到对应jsp的class文件删除(或者整个删除jsp编译后class文件),再到浏览器中查看,发现已经改变了。
还有一种办法,就是把这个jsp从项目中删除或重命名,再到浏览器里面查看那个页面,这时可能会报错,之后,再把对应的jsp添加上或名字改过来,再次到浏览器里面查看应用的时候,就发现这jsp的更新效果出来了。