请教tomcat缓存问题!!!!

番茄蛋 发布于 2012/06/21 18:32
阅读 4K+
收藏 2

整个思路是:用jquery提交url到servlet,然后servlet查询数据库,然后返回json对象,利用ztree构建树。

遇到的问题是:当我整个项目运行起来时侯,这个时候我更新了数据库,然后刷新页面,还是一样的结果。要重新停掉tomcat才可以看到更新,数据库是mySql。

试过的解决办法:在提交url时候添加随机数来解决。。。。。。。。。。。结果没用

 

请问有什么解决办法吗?

加载中
0
刘学炜
刘学炜
找到work文件夹,。此文件下有个catalina目录(tomcat小名叫catalina),work目录下的文件都可以删除。work目录下有一个catalina目录。删除work中的tomcat目录后,缓存就已经清除了。
番茄蛋
番茄蛋
要不我换个服务器看看
番茄蛋
番茄蛋
我试过了,还是这样!
0
刘学炜
刘学炜

我刚才提供的方法也行的,然后我从网上搜到其他几种方法,一并提供给你参考:

在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 Files\tomcat-6.0\work\Catalina
tomcat路径根据自己情况修改.
这样基本可以解决缓存遗留问题。

==========================================

方法1、再当前浏览器,工具里清空一下上网记录(如果你的cookie没那么重要的话,全部选中,清空)。重新打开一个IE浏览器,再打上网址,回车。
如果还不行
方法2、重启tomcat,但是太费时间,有时还不管用。。
方法3、Apache Software Foundation\Tomcat 5.5\work\Catalina\localhost
有一些发布程序的时候编译的jsp的Java类,可都清空该文件夹,也可以只删除跟当前项目相关的类。

方法3,最直接。。。彻底
不过我常用方法1。方法3,要翻那么多文件夹,我会在方法1实在还是不可以的话。才用方法3

=========================================

方法一:
conf/server.xml文件
Context path中间加上reloadable="true"
例如:<Context path="" docBase="" reloadable="true">

0
圌_圌
圌_圌
请求参数加随机数
番茄蛋
番茄蛋
不行啊,我也是这样来试过,但是没有什么作用
0
zTree
zTree

请仔细检查代码:

1、清空浏览器缓存,尝试是否可以得到更新的数据

2、确认ajax 的 url 按照 "url ? 时间戳" 这种方式 是否也无法得到更新后的数据

3、如果确认url 改变参数也得不到更新后的数据,那么需要检查 java 的代码,看看是否有 server短的缓存在作怪

番茄蛋
番茄蛋
回复 @zTree : 好的,非常感谢!!!
zTree
zTree
回复 @番茄蛋 : 那基本问题应该就是 hibernate 的持久层 与 数据库之间更新的问题了。。这个我智能分析到这里啦,毕竟工作中基本上不使用 hibernate 的,帮不了你啦。 加油
番茄蛋
番茄蛋
我是刷新页面,然后它就不提交了,要重启服务器才行,我的ajax是写在ready里面的,按道理应该是有反应的!我写了一个测试的,直接调用都没问题,我是用hibernate的
zTree
zTree
如果所有地方都没有缓存现象。。。你的这个情况也就不可能成立了呀。。。请检查是否每次都从数据库读取了数据。。。这部分是否有缓存
番茄蛋
番茄蛋
第三点我是直接总用,wrier.flush来的,没缓存问题
下一页
返回顶部
顶部