当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

struts1的tiles导致的response cache无法禁止的issue

发表于: 2014-02-15   作者:cuishen   来源:转载   浏览次数:
摘要: 近日struts 1项目中遇到一个很怪异的问题,项目中的所有.do都是继承自同一个root tiles,根JSP里面有把cache禁掉: response.setHeader("Cache-Control", "no-cache, must-revalidate, proxy-revalidate, no-store"); response.se
近日struts 1项目中遇到一个很怪异的问题,项目中的所有.do都是继承自同一个root tiles,根JSP里面有把cache禁掉:
response.setHeader("Cache-Control", "no-cache, must-revalidate, proxy-revalidate, no-store");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");
response.setDateHeader("Expires", 0L);

但是在firebug里面看http response,大部分.do的response都没有cache,但是有个别.do的response cache依旧存在。。。

真见鬼了。。。

后仔细比对struts-config,发现那两个特殊的.do,都是在tiles里面forward到了其他.do:
<action path="/Index" type="com.cuishen.HomeAction">
	<forward name="success" path="success.home"/>
</action>

<definition name="success.home" path="/user/info.do" />

上例中"/Index.do"和"/user/info.do"都是继承的相同的根JSP,但是访问"/Index.do"页面会被缓存,直接访问"/user/info.do"则不会!

后将"/Index.do"中的tiles移除,直接forward到"/user/info.do",后问题解决(如下代码)! (我擦,一般人还真想不到!!)
<action path="/Index" type="com.cuishen.HomeAction">
	<forward name="success" path="/user/info.do"/>
</action>


struts1的tiles导致的response cache无法禁止的issue

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1.用myeclipse建一个web工程 2.导入struts1.2的框架模板 3.创建所需要的java类和jsp文件及tiles-def
最近线上今天出现detail页面很慢的情况,通过btrace定位到是这条SQL: select id,status,convert(bu
1、前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务
在使用OpenExpressApp进行WPF应用开发过程中遇到多个内存泄漏的地方,昨天在WPF不明内存泄露已解决
1、前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务
1、前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务
1、前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务
1、前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务
1、前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务
1、前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号