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

本文记录了解决用户通过代理服务器登录系统时出现资料错误显示的问题,通过在过滤器中加入日期和随机数,确保每个请求都有唯一标识,从而避免缓存干扰,恢复正常数据访问。
最近客户反映用户登录系统的时候,用户资料会变成另外一个人的,经过排查,发现:用户的网络架构采用一个代理服务器,所有用户上网均通过该代理服务器访问,缓存问题造成了该问题,申请的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表达式获取值

    <script>  
    var navBarInfo = new Array();  
    <c:forEach items="${navList}" var="nav">  
        <c:if test="${nav.fdType==1}">  
            navBarInfo[navBarInfo.length] = "<c:out value="${nav.fdName}"/>|<c:url value="/sys/home/sys_home_nav/sysHomeNav.do?method=view&fdId=${nav.fdId}"/>  
            |<c:out value="${nav.fdPicName}"/>";  
               
        </c:if>  
        <c:if test="${nav.fdType==2}">  
            navBarInfo[navBarInfo.length] = "<c:out value="${nav.fdName}"/>|<c:url value="${nav.fdUrl}?i=${random}&date=${date}"/>|<c:out value="${nav.fdPicName}"/>";  
        </c:if>  
    </c:forEach>  
      
    </script>  

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

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


OpenMV是一个开源的机器视觉模块,它集成了Python编程环境,允许用户在小型嵌入式设备上轻松实现图像识别和处理任务。OpenMV IDE(集成开发环境)为用户提供了一个可视化的操作界面,使得编程和调试变得更加简单便捷。版本4.40是OpenMV IDE的一个更新版,专为Windows操作系统优化。在Windows 4.40版本中,用户可以使用IDE进行项目的设计、代码的编写、以及最终的程序部署。该版本的IDE支持了最新的固件更新,可能在图像处理算法和性能上有所提升,使用户能够更好地利用OpenMV模块进行物体识别、颜色跟踪、人脸识别等多种功能。此外,该版本可能还包含了对新硬件的支持,以及在用户界面和操作流程上的改进。README.txt文件通常包含了安装和使用OpenMV IDE Windows 4.40版本的指导信息。它可能详细说明了如何安装OpenMV IDE,安装前的准备工作,以及在安装过程中需要注意的问题。此外,还可能包括了IDE的基本功能介绍,以及一些常见的问题解答和解决方案。lib目录可能包含了OpenMV IDE运行所依赖的库文件。这些库文件是程序运行时必不可少的组件,它们可能包括了用于处理图像的库、连接到不同硬件接口的库、以及执行特定算法的库等。bin目录通常存放了可执行文件,即最终的OpenMV IDE程序。在Windows系统上,这些可执行文件通常是.exe格式。用户可以通过双击这些文件直接运行OpenMV IDE,进行开发和调试工作。share目录可能包含了OpenMV IDE的其他资源文件,比如用户手册、示例代码、图像样本、以及配置文件等。这些资源文件对于用户了解OpenMV IDE的功能,以及如何快速上手使用提供了帮助。例如,用户手册可能详细介绍了IDE的操作方式和使用技巧,示例代码则为用户提供了可以直接运行的图像识别或处
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值