避免代理服务器的缓存带来的问题

最近客户反映用户登录系统的时候,用户资料会变成另外一个人的,经过排查,发现:用户的网络架构采用一个代理服务器,所有用户上网均通过该代理服务器访问,缓存问题造成了该问题,申请的url相同,代理就不会再去访问服务器,直接把缓存中的数据给返回到客户端,去网上搜了好多帖子,最后结合自己项目的实际情况,采用以下方案解决了该问题,在此记录下来和大家分享。

     新加一个过滤器,在过滤器的doFilter方法中加入以下代码:

    public void doFilter(ServletRequest request, ServletResponse response,  
                FilterChain chain) throws IOException, ServletException {  
            HttpServletRequest req = (HttpServletRequest)request;  
        //  System.out.println(req.getRequestURI());  
            req.setAttribute("date", new Date());  
            req.setAttribute("random", Math.random());  
            chain.doFilter(request, response);  
        }  

加入日期和随机数,

过滤器的url-pattern将需要过滤的url给配置上,界面上将特定的url后面加上这两个参数,用ognl表达式获取值

      

 通过此url访问的数据全部恢复正常了

原文地址:http://www.lyb411.com/a/jiagou/2012/0112/517.html


你可能感兴趣的:(软件文档收藏,服务器,date,random,url,c,网络)