登录使用cookie,struts转发,会缓存的问题

daocha 2010-08-15 08:54:58
我写了过滤器,将所有页面都设置了
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);


我的流程是这样的 login.jsp 登录 提交到userinfo.do 然后struts 通过 mapping.findForward 将页面转发到 index.jsp
我遇到如下问题
在userinfo.do里面,我将登录信息同时写入了session和cookies里面,
通过Login.jsp登录后,
session能够实时取出里面的用户信息
但是cookie里面则为空
事实上cookie是成功操作了的
因为此时刷新页面或者新开个网页 直接访问index.jsp这个页面的时候 session和cookie都能成功读出用户信息
也就是说findFoward转发后的页面,对session无缓存,但对cookie有缓存从哦啊做



如果是在struts-config.xml里面将 <forward>里面的参数添加 redirect="true" 将转发改为重定向的话
login.jsp 登陆后地址栏改变 直接跳到index.jsp 那么不会出现缓存的情况

想请教下怎么解决这个问题,我不想改变地址栏,想继续使用forward 如何对cookie不出现缓存的情况

...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
daocha 2010-08-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zxingchao2009 的回复:]

在struts-config.properties中加入
<controller nocache="true"/>应该就能解决了

struts-config>
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/……
[/Quote]

这个我也加了 没用
UPC_思念 2010-08-16
  • 打赏
  • 举报
回复
在struts-config.properties中加入
<controller nocache="true"/>应该就能解决了

struts-config>
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/download"
type="com.zxc.struts.action.downloadAction"
cancellable="true" >
</action>
<action
path="/pagination"
type="com.zxc.struts.action.PaginationAction"
cancellable="true" >
<forward name="success" path="/pagesort.jsp"/>
</action>
</action-mappings>
<controller nocache="true"/>
<message-resources parameter="com.zxc.struts.ApplicationResources"/>
</struts-config>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧