请教tomcat缓存问题!!!!
整个思路是:用jquery提交url到servlet,然后servlet查询数据库,然后返回json对象,利用ztree构建树。
遇到的问题是:当我整个项目运行起来时侯,这个时候我更新了数据库,然后刷新页面,还是一样的结果。要重新停掉tomcat才可以看到更新,数据库是mySql。
试过的解决办法:在提交url时候添加随机数来解决。。。。。。。。。。。结果没用
请问有什么解决办法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
回复
那基本问题应该就是 hibernate 的持久层 与 数据库之间更新的问题了。。这个我智能分析到这里啦,毕竟工作中基本上不使用 hibernate 的,帮不了你啦。 加油
我是刷新页面,然后它就不提交了,要重启服务器才行,我的ajax是写在ready里面的,按道理应该是有反应的!我写了一个测试的,直接调用都没问题,我是用hibernate的
如果所有地方都没有缓存现象。。。你的这个情况也就不可能成立了呀。。。请检查是否每次都从数据库读取了数据。。。这部分是否有缓存
第三点我是直接总用,wrier.flush来的,没缓存问题
回复
好的,非常感谢!!!
请仔细检查代码:
1、清空浏览器缓存,尝试是否可以得到更新的数据
2、确认ajax 的 url 按照 "url ? 时间戳" 这种方式 是否也无法得到更新后的数据
3、如果确认url 改变参数也得不到更新后的数据,那么需要检查 java 的代码,看看是否有 server短的缓存在作怪
不行啊,我也是这样来试过,但是没有什么作用
请求参数加随机数
我刚才提供的方法也行的,然后我从网上搜到其他几种方法,一并提供给你参考:
在jsp文件头加上
<meta http-equiv="Expires" content="0">
<meta http-equiv="kiben" content="no-cache">
其中,第一行的content="0",是表示过期的时间,如果不是0的话,就必须使用GMT的时间格式。第二行表示不用缓存机制。
删除work目录下的缓存文件。
conf/server.xml 文件Context path 中间加上 reloadable="true"
例如:<Context path="" docBase="E:MYJSP" debug="0" reloadable="true" />
在tomcat的startup.bat里首部加上批处理命令
rd/s/q "D:Program Filestomcat-6.0workCatalina
tomcat路径根据自己情况修改.
这样基本可以解决缓存遗留问题。
==========================================
方法1、再当前浏览器,工具里清空一下上网记录(如果你的cookie没那么重要的话,全部选中,清空)。重新打开一个IE浏览器,再打上网址,回车。
如果还不行
方法2、重启tomcat,但是太费时间,有时还不管用。。
方法3、Apache Software FoundationTomcat 5.5workCatalinalocalhost
有一些发布程序的时候编译的jsp的Java类,可都清空该文件夹,也可以只删除跟当前项目相关的类。
方法3,最直接。。。彻底
不过我常用方法1。方法3,要翻那么多文件夹,我会在方法1实在还是不可以的话。才用方法3
=========================================
方法一:
conf/server.xml文件
Context path中间加上reloadable="true"
例如:<Context path="" docBase="" reloadable="true">
我试过了,还是这样!
要不我换个服务器看看
找到work文件夹,。此文件下有个catalina目录(tomcat小名叫catalina),work目录下的文件都可以删除。work目录下有一个catalina目录。删除work中的tomcat目录后,缓存就已经清除了。