用时间戳思想解决读取缓存问题

来源:互联网 发布:百度文库下载器 mac 编辑:程序博客网 时间:2024/06/06 07:17

实现方式:AJAX

三个类部分:

(1)HTMl文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Ajax校验测试</title>
    <script type="text/javascript" src="js_lib/xhr_buffer.js"></script>
    <script type="text/javascript" src="js_lib/jquery-1.2.6.min.js"></script>
</head>

<body>
    Ajax校验测试: <br>
    <input type="text" id="username">
    <input type="button" value="校验" onclick="buffer_slove()">
    <div id="ajax_div"></div>
</body>

</html>

 

(2)xhr_buffer.js:

// 第一种方式;
function buffer_slove()
{
    var url = "xhr_buffer?name="+$("#username").val();

    url = convertURL(url) ;
   
    // alert("调用了此函数!");
    $.get(url, null, function(data){
        $("#ajax_div").html(data);
    });
}


// 增加时间戳信息;
function convertURL(url)
{
    // 获取时间戳;
    var timeStamp = (new Date()).valueOf();

    // 将时间戳信息放到URL信息之中;
    if(url.indexOf("?")>=1)
    {
        url = url + "&t=" + timeStamp;    
    }
    else
    {
        url = url + "?t=" + timeStamp;
    }
    alert(url);
    return url;
}

 

(3)servlet:

public class xhr_buffer extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        try
        {
           response.setContentType("text/html; charset=GB2312");
           PrintWriter pw = response.getWriter();

           // 访问的总次数;
           Integer visitedSizes = (Integer)request.getSession().getAttribute("total");
           int temp = 0;
          
           if (visitedSizes == null)
           {
                temp = 1;
           } else
           {
                temp = visitedSizes.intValue() + 1;
           }
           request.getSession().setAttribute("total", temp);
          
           // 1、取参数;
           String name = request.getParameter("name");

           // 2、检查参数;
           if (name == null || name.length()==0)
           {
                pw.print("用户名不能为空!");
           } else
           {
               // 3、进行校验;
               String nameNew = new String(name.getBytes("utf-8"));
               if (nameNew.equals("colin"))
               {
                   pw.write("恭喜你,可以进入!访问次数:"+temp);
               }
               else
               {
                   // 4、传递用户感兴趣的显示;
                   pw.write("不好意思,该" + nameNew + "用户不存在!访问次数:"+temp);
               }
           }

        } catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

 

应用时应该配置web.xml文档,部署在tomcat下;

 

原创粉丝点击