写了个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,全称为"Asynchronous JavaScript and XML",是一种用于创建高效、互动的网页应用程序的技术。尽管Ajax并不是一项新技术,但它巧妙地结合了已有技术,如JavaScript、DOM(Document Object ...
传智播客 视频 AJAX 技术入门 ppt,很好的学习资料
【AJAX技术入门】 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的出现极大地提升了用户体验,因为它允许网页在后台与服务器进行通信,用户...
**AJAX技术入门:了解其运行原理** AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。这种技术通过在后台与服务器进行少量数据交换,使得网页实现异步更新,极...
ajax技术入门
【AJAX技术入门】\n\nAJAX,全称Asynchronous JavaScript and XML,是一种创建动态网页的技术,允许在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。这一技术的引入极大地提升了用户体验,因为它减少...
传智播客AJAX视频教程AJAX技术入门ppt
**Ajax技术入门** Ajax,全称为"Asynchronous JavaScript and XML",是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这项技术的核心在于利用JavaScript进行异步数据交换,结合XML或其他格式的数据...
传智播客AJAX技术入门,课堂讲课PPT
AJAX技术入门讲解,刘鹏程,幻灯片版式转换成pdf形式
AJAX技术入门,初学者适用,网站上转载。。请网友们选择下载。
ajax技术入门的绝好资源。用户注册已经存在时提示。局部自动刷新技术。
**AJAX 技术简介** AJAX,全称为异步的 JavaScript 和 XML,是一种用于创建交互式网页应用的网页开发技术。它允许网页在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。这极大地提高了用户体验...
Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,提升了用户体验,使得用户在浏览网页时感觉...
Ajax 技术是一种用于创建快速、动态网页的技术,它的全称是 Asynchronous JavaScript and XML,即异步 JavaScript 和 XML。Ajax 不是一项全新的技术,而是利用已有技术如 JavaScript、XML、DOM、CSS 和 ...
AJAX基础入门教程,可以随时查询,放到手机方便随时学习。
综上所述,Ajax技术是构建动态、交互性强的Web应用的关键工具。理解其工作原理和应用场景,能够帮助开发者提高网站性能,提供更流畅的用户体验。通过学习Ajax,并结合.NET框架,可以更好地实现前后端的数据交互和...