模拟jQuery ajax服务器端与客户端通信的代码


Posted in Javascript onMarch 28, 2011

功能如下:

如果用户名为空提示“用户名不能为空 ”   

如果用户名存在提示“用户名[xxxxxx]已经存在,请使用其他用户名, 4 ”          

如果用户名不存在提示“用户名[xxxxxx]尚未存在,可以使用该用户名注册, 5”

运行效果如下: 

模拟jQuery ajax服务器端与客户端通信的代码

模拟jQuery ajax服务器端与客户端通信的代码

模拟jQuery ajax服务器端与客户端通信的代码

模拟jQuery ajax服务器端与客户端通信的代码

             
目录结构:
模拟jQuery ajax服务器端与客户端通信的代码 
服务器端AjaxServer
package com.ljq.test; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.net.URLDecoder; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
@SuppressWarnings("serial") 
public class AjaxServer extends HttpServlet { 
@Override 
protected void doGet(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException { 
try { 
//设置页面utf-8编码 
response.setContentType("text/html;charset=utf-8"); 
PrintWriter out = response.getWriter(); 
Integer total = (Integer) request.getSession().getAttribute("total"); 
int temp = 0; 
if (total == null) { 
temp = 1; 
} else { 
temp = total.intValue() + 1; 
} 
request.getSession().setAttribute("total", temp); 
// 1.取参数 
String param = request.getParameter("name"); 
String name = URLDecoder.decode(param, "UTF-8"); 
// 2、检查参数是否有效 
if (param == null || param.length() == 0) { 
out.println("用户名不能为空"); 
} else { 
// 3、校验操作 
if (name.equals("linjiqin")) { 
// 4、返回结果数据 
out.println("用户名[" + name + "]已经存在,请使用其他用户名, " + temp); 
} else { 
out.println("用户名[" + name + "]尚未存在,可以使用该用户名注册, " + temp); 
} 
} 
} catch (Exception e) { 
e.printStackTrace(); 
} 
} 
@Override 
protected void doPost(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException { 
doGet(request, response); 
} 
}

配置web.xml
<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
<servlet> 
<servlet-name>AjaxServer</servlet-name> 
<servlet-class>com.ljq.test.AjaxServer</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>AjaxServer</servlet-name> 
<url-pattern>/servlet/ajaxServer</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
<welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 
</web-app>

index.jsp页面
<%@ page language="java" import="java.util.*" 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>My JSP 'index.jsp' starting page</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"> 
<script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-1.3.1.js"></script> 
<script type="text/javascript" src="<%=request.getContextPath() %>/js/validate.js"></script> 
</head> 
<body> 
<!--html5的标准: 首先标签名要小写,其次标签必须关闭,第三属性名遵循骆驼命名法,第四属性值必须位于双引号中--> 
请输入用户名:<br/> 
<input id="userName"/> 
<input type="button" value=" 校 验 " onclick="verify();"/> 
<div id="result"></div> 
</body> 
</html>

validate.js
function verify() { 
// 解决中文乱码方法一: 页面端发出的数据作一次encodeURI,服务器段使用new String(name.getBytes("iso8859-1"),"UTF-8"); 
// 解决中文乱码方法二: 页面端发出的数据作两次encodeURI,服务器段使用URLDecoder.decode(name,"UTF-8") 
var url = "servlet/ajaxServer?name=" + encodeURI(encodeURI($("#userName").val())); 
//注意url前不要加"/",否则无法访问url 
//var url = "/servlet/ajaxServer?name=" + encodeURI(encodeURI($("#userName").val())); //错误 
url = convertURL(url); 
$.get(url, null, function(data) { 
$("#result").html(data); 
}); 
} 
// 给url地址增加时间戳,骗过浏览器,不读取缓存 
function convertURL(url) { 
// 获取时间戳 
var timstamp = (new Date()).valueOf(); 
// 将时间戳信息拼接到url上 
if (url.indexOf("?") >= 0) { 
url = url + "&t=" + timstamp; 
} else { 
url = url + "?t=" + timstamp; 
} 
return url; 
}
Javascript 相关文章推荐
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
Dec 23 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
使用jquery自定义鼠标样式满足个性需求
Nov 05 Javascript
JavaScript DOM事件(笔记)
Apr 08 Javascript
JavaScript数据类型的存储方法详解
Aug 25 Javascript
javascript实现文本框标签验证的实例代码
Oct 14 Javascript
koa大型web项目中使用路由装饰器的方法示例
Apr 02 Javascript
jquery实现直播弹幕效果
Nov 28 jQuery
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
Feb 12 Javascript
js实现html滑动图片拼图验证
Jun 24 Javascript
electron踩坑之dialog中的callback解决
Oct 06 Javascript
JavaScript中的Proxy对象
Nov 27 Javascript
原来Jquery.load的方法可以一直load下去
Mar 28 #Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
Mar 28 #Javascript
jquery向.ashx文件post中文乱码问题的解决方法
Mar 28 #Javascript
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 #Javascript
jQuery中调用WebService方法小结
Mar 28 #Javascript
利用jQuery接受和处理xml数据的代码(.net)
Mar 28 #Javascript
jquery.combobox中文api和例子,修复了上面的小bug
Mar 28 #Javascript
You might like
PHP中的extract的作用分析
2008/04/09 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
基于PHP实现假装商品限时抢购繁忙的效果
2015/10/16 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
了解JavaScript中的选择器
2019/05/24 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
python的id()函数介绍
2013/02/10 Python
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
Python操作Excel之xlsx文件
2017/03/24 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
Order by的几种用法
2013/06/16 面试题
爱情保证书范文
2014/02/01 职场文书
记帐员岗位责任制
2014/02/08 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
网站创业计划书
2014/04/30 职场文书
团代会宣传工作方案
2014/05/08 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
初三语文教学计划
2015/01/22 职场文书
甲午风云观后感
2015/06/02 职场文书
安全教育主题班会总结
2015/08/14 职场文书
i7 6700处理器相当于i5几代
2022/04/19 数码科技