在一个企业项目中,我们遇到了一个WebLogic服务器上替换JSP页面不生效的问题。以下是具体实例及解决过程:
项目背景:

- 使用WebLogic 12.1.3.0.0版本
- 应用部署在WebLogic域中
- 应用包含多个JSP页面
问题现象:
在开发过程中,我们替换了一个JSP页面,但是无论刷新多少次浏览器,旧的JSP页面内容依然显示,新的JSP页面并没有生效。
排查过程:
1. 我们检查了WebLogic服务器日志,发现没有相关错误信息。
2. 然后,我们检查了WebLogic域的配置,确认域配置正确。
3. 接着,我们检查了应用的部署,确认应用已正确部署在WebLogic服务器上。
4. 我们尝试重启WebLogic服务器,但问题依然存在。
解决方案:
经过一番努力,我们发现问题的根源在于WebLogic服务器缓存了旧的JSP页面。以下是解决步骤:
1. 在WebLogic服务器安装目录下的common""lib""wlscommon.jar文件中找到com.bea.wls.was.webapp.cache.WebappCache类。
2. 修改该类中的isModified方法,使其返回true。这样,WebLogic服务器就会认为JSP页面已经修改,重新加载页面。
3. 重新启动WebLogic服务器,测试替换后的JSP页面是否生效。
最终结果:
经过上述修改,我们成功替换了JSP页面,并且新的页面内容已经显示在浏览器中。
在WebLogic服务器上替换JSP页面不生效时,我们可以通过修改WebLogic服务器缓存机制来解决此问题。在开发过程中,遇到类似问题时,可以尝试以上方法进行排查和解决。







