用时间戳思想解决读取缓存问题
2010-06-29 01:29
323 查看
实现方式: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下;
三个类部分:
(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下;
相关文章推荐
- 使用时间戳解决浏览器缓存问题
- 核心思想:他们在工具的选择上投入了过多的时间精力,却忽略了应该用工具解决的问题
- 使用时间戳解决浏览器缓存问题
- 时间戳 解决浏览器缓存问题
- 利用时间戳解决频繁更新图片造成的图片缓存问题
- jquery判断图像是否加载完毕【解决读取缓存不调用load方法的问题】
- php读取excel文件的日期时间出现类似41395的问题解决
- java读取系统时间写入mysql数据库时,滞后八小时问题的解决 - ghostgarlic的专栏 - CSDNBlog
- 解决PHPexcel读取excel时间字段等生成科学计数法的问题
- 如何解决DNS缓存时间问题
- java读取系统时间写入mysql数据库时,滞后八小时问题的解决
- AJAX之利用时间戳解决缓存问题
- 使用时间戳解决浏览器缓存问题
- 解决浏览器缓存问题---url拼接一个时间戳
- 用asp读取xml时清除缓存的问题与解决办法
- spark SQL读取ORC文件从Driver启动到开始执行Task(或stage)间隔时间太长(计算Partition时间太长)且产出orc单个文件中stripe个数太多问题解决方案
- 用哈希算法的思想解决排序和字符串去重问题,时间复杂度为O(N)
- 时间戳解决浏览器缓存问题
- 使用时间戳解决浏览器缓存问题
- 时间戳解决浏览器缓存问题