关于servlet的缓存问题
2012-04-20 00:26
253 查看
今天,在用Servlet做注销控制时,遇到一个很奇怪的问题,就是该Servlet不能正常注销登陆。经过测试发现,该servlet根本就没有被访问。开始还以为是web.xml的配置问题,或是我tomcat的配置问题,导致它没有指向正确的Servlet。可无论如何修改配置,都无济于事。
在朋友提醒下,可能是缓存的问题,但是如果是缓存问题,为什么只有这个Servlet有这个问题,而其他的没有呢?抱着试一试的态度,我在跳转到该URL里加入了一个随机参数,这次该Servlet可以正常注销了。问题虽然解决了,可原因却还没找到。
为了测试Servlet究竟会在什么情况下存在缓存问题,我开始做测试。首先新建一个Servlet,然后在它的doGet方法里,添加打印随机值的语句。结果每次运行,它都能输出不同的值,并没有缓存问题。我就猜想,会不会是访问方式的问题,我每次测试都是在地址栏直接输入然后敲回车的,这其实已经带着刷新的效果了。于是我又新建了一个页面,用一个超链指向该页面。重新测试,发现仍然每次输出。
问题到这一步似乎僵住了,然后认真分析出问题的servlet与测试所用的Servlet有什么不同。突然想起,出问题的Servlet并不输出页面,而是会跳转到一个静态的html页面。会不会是浏览器因为它返回来的是一个静态页面,浏览器认为没必要去访问服务器,所以才缓存的呢?再次尝试,将测试Servlet改为跳转到另一个html的页面的功能。测试,这次问题出现了,在大部分情况下,都没有再输出随机值,说明服务端的Servlet并没有被访问。同时尝试让它跳转到一个jsp页面,发现如此的话,该Servlet仍然会被每次访问。看来,缓存问题主要还是出现于Servlet向普通的html页面跳转中。
问题解决了,原因也差不多搞明白了,这里还剩下最后一个问题。就是在测试Servlet中,缓存问题值存在于第二次以后,但问题Servlet的缓存问题在第一次访问也存在。另外测试Servlet的访问次数也要多与问题Servlet。这个问题留待以后再去想明白吧。
在朋友提醒下,可能是缓存的问题,但是如果是缓存问题,为什么只有这个Servlet有这个问题,而其他的没有呢?抱着试一试的态度,我在跳转到该URL里加入了一个随机参数,这次该Servlet可以正常注销了。问题虽然解决了,可原因却还没找到。
为了测试Servlet究竟会在什么情况下存在缓存问题,我开始做测试。首先新建一个Servlet,然后在它的doGet方法里,添加打印随机值的语句。结果每次运行,它都能输出不同的值,并没有缓存问题。我就猜想,会不会是访问方式的问题,我每次测试都是在地址栏直接输入然后敲回车的,这其实已经带着刷新的效果了。于是我又新建了一个页面,用一个超链指向该页面。重新测试,发现仍然每次输出。
问题到这一步似乎僵住了,然后认真分析出问题的servlet与测试所用的Servlet有什么不同。突然想起,出问题的Servlet并不输出页面,而是会跳转到一个静态的html页面。会不会是浏览器因为它返回来的是一个静态页面,浏览器认为没必要去访问服务器,所以才缓存的呢?再次尝试,将测试Servlet改为跳转到另一个html的页面的功能。测试,这次问题出现了,在大部分情况下,都没有再输出随机值,说明服务端的Servlet并没有被访问。同时尝试让它跳转到一个jsp页面,发现如此的话,该Servlet仍然会被每次访问。看来,缓存问题主要还是出现于Servlet向普通的html页面跳转中。
问题解决了,原因也差不多搞明白了,这里还剩下最后一个问题。就是在测试Servlet中,缓存问题值存在于第二次以后,但问题Servlet的缓存问题在第一次访问也存在。另外测试Servlet的访问次数也要多与问题Servlet。这个问题留待以后再去想明白吧。
相关文章推荐
- 关于javax.servlet不存在的问题
- 关于缓存问题的解决方案
- 关于本地缓存登陆 和 域用户将计算机加入域的问题及登录过程- -
- 关于servlet单选框,复选框取值问题
- 关于网页中缓存swf的问题
- 关于图片缓存的问题
- 关于浏览器的缓存问题
- 关于酷我音乐盒2010贺岁版不能设置缓存所在的位置的问题
- 转载加整理!由ClassNotFoundException: ContextLoaderServlet引出关于eclipse加载web-inf/lib问题
- org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [WebApp] in context with path关于数据库库的问题
- 关于Session在一个Servlet取不到值的问题
- 关于uiwebview或者网站可能出现的缓存js,css问题
- 关于浏览器图片缓存问题
- 关于IIS运行servlet的问题,有人能帮我吗
- 关于模式窗体的缓存问题的解决方案
- 关于ServletFileUpload中parseRequest(request)返回的list<FileItem>为空的问题
- ios开发中关于图片缓存的问题整理
- 关于Servlet生成验证码的src为什么要带随机数的问题
- 关于浏览器缓存,版本更新问题
- 关于android通过servlet访问MySql数据库的问题(附带简单的JSON使用)