写了个ajax验证用户名是否可用的小例子,记在这,以备后查。
在Eclipse中新建一个dynamic web project,新建两个servlet,一个名为ClassicServlet,使用传统方式进行用户名验证,另一个名为AjaxServlet,使用Ajax方式进行用户名验证。代码如下:
ClassicServlet.java:
package com.dcr.javascript.ajax01;
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 ClassicServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try{
String name = request.getParameter("name");
if ("hello".equals(name)){
out.println("用户名" + name + "已经被使用,请重新填写!<a href='javascript:history.go(-1)'>返回</a>");
}else{
out.println("用户名" + name + "可以使用!<a href='javascript:history.go(-1)'>返回</a>");
}
}finally{
out.close();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
AjaxServlet.java
package com.dcr.javascript.ajax01;
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 AjaxServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try{
String name = request.getParameter("name");
if ("hello".equals(name)){
out.println("用户名" + name + "已经被使用,请重新填写!");
}else{
out.println("用户名" + name + "可以使用!");
}
}finally{
out.close();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
这两个servlet对应的html为classic.html,和ajax.html:
classic.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>传统方式</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="Classic" method="get">
<input id="name" name="name" />
<input type="submit" value="验证用户名">
</form>
</body>
</html>
ajax.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ajax方式</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="../js/ajax01/ajax.js"></script>
</head>
<body>
<input id="name" />
<input type="button" value="验证用户名" onclick="check()" />
<div id="message"></div>
</body>
</html>
ajax.js:
var XmlHttpResquest;
function check(){
if(window.XMLHttpRequest){
XmlHttpResquest = new XMLHttpRequest();
if(XmlHttpResquest.overrideMimeType){
XmlHttpResquest.overrideMimeType("text/xml");
}
}else if(window.ActiveXObject){
var activexName = ["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Miscrosoft.XMLHTTP"];
for(var i = 0;i < activexName.length;i++){
try{
XmlHttpResquest = new ActiveXObject(activexName[i]);
break;
}catch(e){
continue;
}
}
}
if(XmlHttpResquest == undefined || XmlHttpResquest == null){
alert("当前浏览器不支持创建XMLHttpResuest对象,请更换浏览器!");
}
XmlHttpResquest.onreadystatechange = callback;
XmlHttpResquest.open("GET","../ajax01/Ajax?name=" + document.getElementById("name").value,true);
XmlHttpResquest.send(null);
}
function callback()
{
if(XmlHttpResquest.readyState == 4){
if(XmlHttpResquest.status == 200){
document.getElementById("message").innerHTML = XmlHttpResquest.responseText;
}
}
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>javascript</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Classic</servlet-name>
<servlet-class>com.dcr.javascript.ajax01.ClassicServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Classic</servlet-name>
<url-pattern>/ajax01/Classic</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>Ajax</display-name>
<servlet-name>Ajax</servlet-name>
<servlet-class>com.dcr.javascript.ajax01.AjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Ajax</servlet-name>
<url-pattern>/ajax01/Ajax</url-pattern>
</servlet-mapping>
</web-app>
这样已经很全了,就不再上传源码了。
本来想截个项目结构图的,但是不知道怎么插入到文章内容中去,暂且作罢。
分享到:
相关推荐
传智播客培训 - AJAX技术入门 - 王兴魁 老师
AJAX技术入门AJAX技术入门AJAX技术入门AJAX技术入门AJAX技术入门AJAX技术入门AJAX技术入门
Ajax技术入门PPT 很好的入门教程
传智播客 视频 AJAX 技术入门 ppt,很好的学习资料
ajax技术入门
Ajax技术入门.ppt 讲得非常的详细!
传智播客AJAX视频教程AJAX技术入门ppt
传智播客AJAX技术入门,课堂讲课PPT
ASP.NET AJAX 技术 入门实例 经典 很经典的实例教程
Ajax初学必读 Ajax技术 入门 适合Ajax初学者。
AJAX技术入门.pptAJAX技术入门.pptAJAX技术入门.ppt
AJAX技术入门讲解,刘鹏程,幻灯片版式转换成pdf形式
AJAX技术入门,初学者适用,网站上转载。。请网友们选择下载。
AJAX技术入门--详细介绍Ajax的机理和实现技术,包括Javascript语言、Xml、XMLHttpRequest对象等的介绍~~~
ajax技术入门的绝好资源。用户注册已经存在时提示。局部自动刷新技术。
AJAX基础入门教程,可以随时查询,放到手机方便随时学习。
讲述Ajax技术的概念和核心知识,有部分的代码讲解,清晰易懂,希望对各位有所帮助
该文章主要讲解了AJAX入门的技巧和方法.
Ajax入门的讲解,附带讲解了JQuery的简单应用。。。。