`
LC2586
  • 浏览: 25177 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AJAX学习总结(四)---解决缓存问题

阅读更多

步骤1.新建项目ajaxtrain

 

步骤2.在WebRoot下新建jslib文件夹,并将jQuery的库(jquery-1.4.2.min.js)放在该目录下

 

步骤3.新建Servlet

 

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AJAXServer extends HttpServlet {
	private static final long serialVersionUID = -7936252450796205712L;

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

		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		
		Integer inte = (Integer)request.getSession().getAttribute("total");
		int temp = 0;
		if(inte == null){
			temp = 1;
		}else{
			temp = inte.intValue() + 1;
		}
		request.getSession().setAttribute("total", temp);
		
		String old = request.getParameter("name");
		if(old == null || old.length() == 0){
			out.println("用户名不能为空!");
		}else{
			String name = old;
			if(name.equals("lichao")){
				out.println("用户名为:【"+name+"】的用户名已存在,请选用其他的用户名!<font color=red>访问次数:</font>"+temp);
			}else{
				out.println("用户名为:【"+name+"】的用户名尚未存在,可以使用该用户名!<font color=red>访问次数:</font>"+temp);	
			}
		}
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			doGet(request, response);
	}

}

  

 

步骤4.新建js文件---verify.js

 

function verify(){
	//alert("点击了");
	//1、获取文本框的内容
	//document.getElementById("userName");dom的方式
	//jQuery的查找节点的方式,参数中#加上id属性值可以找到一个节点
	//jQuery的方法返回的都是jQuery的对象,可以继续在上面执行其他的jQuery方法
	var jqueryObj = $("#userName");
	//获取节点的值
	var userName = jqueryObj.val();
	//alert(userName);
	
	//2、将文本框中的数据发送给服务器端的servlet
	//使用jQuery的XMLHTTPRequest对象get请求的封装
	var url = "AJAXServer?name="+userName;
	url = convertURL(url);
	$.get(url,null,callback);

}

//回调函数
function callback(data){
	//alert("服务器数据回来了!!");
	//3、接收服务器端返回的数据
//	alert(data);
	//4、将数据库端返回的数据动态的显示在页面上
	//找到保存结果信息的节点
	var resultObj = $("#result");
	//动态的改变页面中div节点中的内容
	resultObj.html(data);
}

function convertURL(url){
	//获取时间戳
	var timestamp = (new Date()).valueOf();
	//将时间戳拼接在url路径上
	if(url.indexOf("?") >= 0){
		url = url + "&t=" + timestamp;
		alert(url);
	}else{
		url = url + "?t=" + timestamp;	
	}
	return url
}

 

 

 

 

 

 

 

 

 

 

步骤5.新建jsp---index.jsp

 

 

<%@ page language="java"  pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>ajax测试注册页面</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<!--引入js文件-->
	<script type="text/javascript" src="jslib/verify.js"></script>
	<script type="text/javascript" src="jslib/jquery-1.4.2.min.js"></script>
  </head>
  <body>
   请输入你要注册的用户名:
   <input type="text" id="userName"/>
   <input type="button" value="注册" onclick="verify()"/>
   <div id="result"></div>
  </body>
</html>

 

然后访问http://localhost:8080/ajaxtrain/index.jsp

即可

 

分享到:
评论

相关推荐

    asp.net知识库

    帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...

    .net C# 学习过程中收藏的一些比较有用的和感兴趣的链接

    http://wenku.baidu.com/view/25ddbf420b4e767f5acfcee0.html jQuery.getJSON的缓存问题的解决办法 http://wenku.baidu.com/view/3d2b01a93169a4517723a3f3.html Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的...

    PHP和MySQL WEB开发(第4版)

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets...

    PHP和MySQL Web开发第4版pdf以及源码

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行...

    PHP和MySQL Web开发第4版

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    这个项目完全按照高访问量互联网站进行设计,通过这个项目,学员不仅可以在实战中巩固对前面学习的ASP.Net、ADO.Net、WinForm等知识的掌握,还可以掌握网站防黑、缓存、SEO、静态化、搜索引擎技术、AJAX等大型互联网...

    亮剑.NET深入体验与实战精要2

    本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...

    亮剑.NET深入体验与实战精要3

    本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...

    python入门到高级全栈工程师培训 第3期 附课件代码

    python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和...

    50CMS 3.0.12

    降低网站修改难度,建站、修改迅速 分层适度 50cms专为中小型网站的开发量身定制,分层适度合理解决性能同协作开发问题 新技术 系统采用微软mvc linq entity 等技术,是学习这些技术的最佳实践 不断升级 开发组...

Global site tag (gtag.js) - Google Analytics