(前提:这个问题只发生在IE8,IE6是没有此问题的,IE7还没试)
目前开发的是一个类似于淘宝的购物车模块,用户登录之前的订单数据存在cookie里。之前直接写action跳转,还没有问题,用户可以直接在页面上删除某个订单项。后来,项目进行了优化和整理,引入了urlrewrite,问题就来了。以前直接写action跳转过来的页面,地址栏上显示的是  ******.action
引入了urlrewrite跳转过来的页面,地址栏上显示的是  ***_***.html (前面的***是ACTION名,后面的***是方法名)在后者的页面上,点击“删除”某个订单的链接,也能进入action的相关方法,删除也能正常进行
顺便说一下 
删除cookie是这样的: 
cookie.setValue(null);
cookie.setMaxAge(0);
ServletActionContext.getResponse().addCookie(cookie);
执行过程中没有报错, 但在次查询时,cookie依然存在....而且maxage值为-1  调查了好久,都没有结果,哪个大侠指点一下吧,不胜感激!

解决方案 »

  1.   

    1.在IE 8中,假设你没有打开菜单栏,请按下键盘上的Alt键打开菜单栏,然后依次选择“文件-新建会话”,这样IE会自动打开一个新窗口,但该窗口所在会话和原窗口所在会话是完全隔离的,无法共用会话Cookie,因此可以按照需要放心打开多个会话,并使用不同的马甲登录。 
    2.如果觉得麻烦,或者有其他原因,也可以创建一个带有特殊参数的快捷方式:“iexplore.exe -nomerge”,使用该参数打开的IE窗口也将使用独立的一套会话Cookie。 
      

  2.   

    你跳转前调用remove不就可以了
      

  3.   

    跳转之前 用JS 删 cookie吧
      

  4.   

    呵呵,大家好!我是猎头cindy,我们公司是一家专门focus在IT行业的猎头公司,目前有高级JAVA开发工程师,软件架构师和系统分析工程师的职位,感兴趣的朋友可以加我的msn:[email protected],我们详细沟通,呵呵,不考虑也可以加我的,我们保持联系:-)