由于项目已经基本完成,但是遇到了页面缓存的问题,但是又不可能给项目中的每个URL都加上随机数,所以想写一个过滤器,来自动给url后添加随机数,但是没有找到修改的方法~~~~

解决方案 »

  1.   

    直接在dofilter之前给request添加一个随机的参数,值。
      

  2.   


    为什么不可能为每个 URL 加上随机数?页面缓存是由浏览器造成的,加个 Filter 根本无济于事。客户端引起的问题,最好只在客户端解决。
      

  3.   

    这个好像不行吧
    url在request里,不能直接修改
    dofilter执行的还是同一个request修改url后,再转发一下或许可以,不过每个请求都要转发一次,好像也不是很好
      

  4.   

    那我在URL中拼得查询参数呢?不就都没有了!
      

  5.   

    HttpServletReqeust req=(HttpServletRequest)request;
    String urL=req.getRequestURL();
    String end=url.split("?")==1?"?id=23":"&id=23";
    request.getRequestDispatcher(url+end).forward(request,
    response);
    这样应该可以吧,如果不出结果,你可以输出线URL看看地址的问题
    也可以使用req.getRequestURI()来获得除去项目名的路径
      

  6.   

    为啥同一个请求不出结果,我想应该是request一样吧
    所以我觉得只要改变了request内部的值,像我开始说的在内部加一个属性或者修改一个属性,应该就能让这个请求每次都得到回应。
      

  7.   

    我想知道,在filter里加随机数对于浏览器缓存有效果吗?