是这样: 我在本机上做了一个小的B/S系统.而且是在本机是 服务器端。
把该系统部署到 tomcat5.5上去后,自己在本机上测试,一切都比较正常。 而后,其他机器访问我的系统出现了问题:1: 其他机器访问我的系统,进行一些 添加,删除,修改等 操作时: 操作是成功的,但是再一次 请求页面时刚刚删除的 数据还在原来的页面上(包括添加和修改等一些操作)。 而我看看自己的 tomcat都显示操作的确是成功的, 数据库的记录是正确的改变,日志信息也是正确的。 而且我在本机上的 浏览器做 添删改 的操作时,页面都会 及时的 变动数据。2: 自己考虑了下是不是IE的缓存的缘故: 我自己清除IE缓存后,关闭IE浏览器,但 客户端的IE还是有问题。
可能我有点说的复杂: 主要问题是: 在客户端上操作时,对上一次的数据操作IE 没有改变。如: 在客户端PC上 在a.jsp对某一条记录 进行 删除, 回到 查询的页面 记录还在那里, 但是数据已经删除,服务器端能正常显示出 正确的信息。
望各位前辈多加指教
把该系统部署到 tomcat5.5上去后,自己在本机上测试,一切都比较正常。 而后,其他机器访问我的系统出现了问题:1: 其他机器访问我的系统,进行一些 添加,删除,修改等 操作时: 操作是成功的,但是再一次 请求页面时刚刚删除的 数据还在原来的页面上(包括添加和修改等一些操作)。 而我看看自己的 tomcat都显示操作的确是成功的, 数据库的记录是正确的改变,日志信息也是正确的。 而且我在本机上的 浏览器做 添删改 的操作时,页面都会 及时的 变动数据。2: 自己考虑了下是不是IE的缓存的缘故: 我自己清除IE缓存后,关闭IE浏览器,但 客户端的IE还是有问题。
可能我有点说的复杂: 主要问题是: 在客户端上操作时,对上一次的数据操作IE 没有改变。如: 在客户端PC上 在a.jsp对某一条记录 进行 删除, 回到 查询的页面 记录还在那里, 但是数据已经删除,服务器端能正常显示出 正确的信息。
望各位前辈多加指教
解决方案 »
- Linux下MySQL JDBC事物处理不成功
- 关于页面效果问题!在线等待高手
- 写的论坛速度太慢,咋办?(顶者有分)
- 金辉招聘JSP开发工程师
- 悄悄的问一下,这种页子怎么做的!在线等!
- 菜鸟求助!!JSP页面间传值问题
- iterator怎么用?
- 在jsp中,onclick事件中如果要调用2个方法,应该怎么写?谢谢!!
- (插入时间会出错!!!~~~???)and(session的生命期)
- DaoFactory.getReaderDaoInstance().getReader(id);
- mysql密码忘记了。重装时候出错
- 在JSP里 我做了模糊查询后,想对模糊查询所的的结果进行分页显示,如何做`?
不知道你怎么回的查询页面1.数据库的修改操作要commit
2.页面上修改之后生成新的页面要重新查询DB生成一次
客户端显示的 刚删除的数据还存在,但 实际上在 服务器端 该数据已经成功删除了
禁止服务器端缓存:
response.setHeader("Pragma","No-cache");response.setHeader("Cache-Control","no-cache");response.setDateHeader("Expires", 0);
客户端禁止缓存
在<head></head>之间加:
<META HTTP-EQUIV="pragma" CONTENT="no-cache"><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"><META HTTP-EQUIV="expires" 》
客户端显示的 刚删除的数据还存在,但 实际上在 服务器端 该数据已经成功删除了
是否使用了缓存(类似Map,List之类,位于内存中),也就是缓存了之前查询出的结果到内存中,而页面展现逻辑是从这个缓存中读取的数据,而不是重新查询数据库,
也就是该缓存与数据库未能同步,
测试页面 没有使用缓存
右边是一个Frame里面嵌套了个 aaa.jsp; aaa.jsp每次加载它都会自动去访问一次 DB,并返回ResultSet ,而且显示相应的数据 。 是不是要在 这个 aaa.jsp里设置 禁止缓存之类的啊?
web与单机程序的区别,web需要刷新。
也可以用ajax的局刷减少刷新范围。
右边是一个Frame里面嵌套了个 aaa.jsp; aaa.jsp每次加载它都会自动去访问一次 DB,并返回ResultSet ,而且显示相应的数据 。 是不是要在 这个 aaa.jsp里设置 禁止缓存之类的啊?
------------------------------------------------------------
我想了解下你,增删改操作完成之后是怎么回到结果显示页面的? 从你的问题看来,是显示的本地历史记录,并没有重新请求一次服务器,导致不同步,与禁止缓存没关系!
建议变换方式重新请求服务器端jsp页面
比如增加一条记录: DAO 成功以后 返回一个参数给 Servlet,然后我判断返回参数的值(int isSucceed》0),然后是: [code=Java]request.getRequestDispatcher("infomationAnswer.jsp").forward(request, response);code]
这种方法可以设置页面不缓存
比如增加一条记录: DAO 成功以后 返回一个参数给 Servlet,然后我判断返回参数的值(int isSucceed》0),然后是:
[code=Java]request.getRequestDispatcher("infomationAnswer.jsp").forward(request, response);code]
-------------------------------------------------
把
request.getRequestDispatcher("infomationAnswer.jsp").forward(request, response)
换成response.sendRedirect("infomationAnswer.jsp");试试
1: <a href="infomationQuestion.jsp">查看信息</a>2: 点击后,右边Frame里面的infomationQuestion.jsp又显示出 之前未修改的数据 (实际已经改动成功了)是不是 不应该用 <a>标记进行 页面的跳转啊?
Frame框架引起的? 大哥能不说明白一点么?