`

ajax示例

    博客分类:
  • ajax
 
阅读更多
CheckCodeServlet :
package web;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;

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

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class CheckCodeServlet extends HttpServlet {

		public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			response.setContentType("image/jpeg");
			// 图片的内存映像
			BufferedImage image 
			= new BufferedImage(60, 20,
					BufferedImage.TYPE_INT_RGB);
			Random r = new Random();
			// 获得画笔对象
			Graphics g = image.getGraphics();
			g.setColor(new Color(r.nextInt(255),
					r.nextInt(255), 
					r.nextInt(255)));
			g.fillRect(0, 0, 60, 20);
			g.setColor(new Color(0,0,0));
			String number = 
				String.valueOf(r.nextInt(99999)); 
			//将验证码写入session
			HttpSession session = 
				request.getSession();
			session.setAttribute("checodeNum", number);
			g.drawString(number, 5, 15);

			// 压缩成jpeg格式
			OutputStream os = 
				response.getOutputStream();
			JPEGImageEncoder encoder = 
				JPEGCodec.createJPEGEncoder(os);
			// 把BufferedImage对象中的图像信息编码后
			// 向创建该对象(encoder)时指定的输出流输出
			encoder.encode(image);
	
	}

}
 
ActionServlet:
package web;

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 ActionServlet extends HttpServlet {

		public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			request.setCharacterEncoding("utf-8");
			String uri = request.getRequestURI();
			String path = uri.substring(uri.lastIndexOf("/"),
					uri.lastIndexOf("."));
			response.setContentType("text/html;charset=utf-8");
			PrintWriter out = response.getWriter();
			try {
				//Thread.sleep(10000);
			} catch (Exception e) {
				e.printStackTrace();
			}
			
			if(path.equals("/valiusername")){
				System.out.println("valiusername...");
				if(1==2)
					throw new ServletException("some error");
				String username = 
					request.getParameter("username");
					System.out.println("username:" + username);
					if(username.equals("zs")){
						out.println("用户名已经被占用");
					}else{
						out.println("用户名可以使用");
					}
			}else if(path.equals("/valicheckcode")){
				String number1 = request.getParameter("number");
				String number2 =
					(String) request.getSession()
					.getAttribute("checodeNum");
				if(!number1.equals(number2)){
					out.println("验证码出错");
				}else{
					out.println("验证码正确");
				}
				
			}else if(path.equals("/regist")){
				System.out.println("insert data to db!");
				out.println("<h1>regist success!</h1>");
			}
	}

}
 ajax.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<html>
	<head>
		<title>Insert title here</title>
		<script type="text/javascript" src="js/prototype1.6.js"></script>
		<script type="text/javascript">
		function getXmlHttpRequest(){
			//获得xmlHttpRequest
		   var xmlHttpRequest = null;
           if ((typeof XMLHttpRequest) != 'undefined') {
		       // FF
               xmlHttpRequest = new XMLHttpRequest();
           }else {
               xmlHttpRequest = new ActiveXObject('Microsoft.XMLHttp');
          }
          return xmlHttpRequest;
		}
		//访问服务器,查看该用户名是否可用
		function valiusername(){
			//获得XmlHttpRequest对象
			var xmlReq = getXmlHttpRequest();
			//发送请求
			xmlReq.open("get","valiusername.do?username=" + $F("username"),true);
			//注册一个回调函数
			xmlReq.onreadystatechange=function(){
				//处理服务器返回的数据,只有当服务器的数据全部返回以后,才需要处理。
				if(xmlReq.readyState == 4){
					if(xmlReq.status == 200){
						var info = xmlReq.responseText;
						$('username_msg').innerHTML=info;
					}else{
						$('username_msg').innerHTML='要访问的组件出错';
					}
				}else{
					$('username_msg').innerHTML='正在验证...';
				}
			};
			xmlReq.send(null);
	}
	
	function valiusername2(){
		var xmlReq = getXmlHttpRequest();
		xmlReq.open("post","valiusername.do",true);
		xmlReq.setRequestHeader(
               	"Content-Type",
               	"application/x-www-form-urlencoded");
        xmlReq.onreadystatechange=function(){
          	if(xmlReq.readyState == 4){
        		if(xmlReq.status == 200){
        			var info = xmlReq.responseText;
        			$('username_msg').innerHTML=info;
        		}else{
        			$('username_msg').innerHTML='要访问的组件出错';
        		}
         	}else{
        		$('username_msg').innerHTML='正在验证...';
        	}
        };
        xmlReq.send("username=" + $F('username'));
	}
	
	function valicheckcode(){
		var xmlReq = getXmlHttpRequest();
		xmlReq.open('post','valicheckcode.do',true);
		xmlReq.setRequestHeader(
               	"Content-Type",
               	"application/x-www-form-urlencoded");
         xmlReq.onreadystatechange=function(){
         	if(xmlReq.readyState == 4){
         		var info = xmlReq.responseText;
         		$('checkcode_msg').innerHTML= info;
         	}
         };
         xmlReq.send("number=" + $F('number'));
	}
	
</script>
	</head>
	<body style="font-size:30pt;">
		<form action="regist.do" method="post">
			<fieldset>
				<legend>
					regist
				</legend>
				username:
				<input type="text" name="username" id="username" onblur="valiusername();" />
				<span style="color:red;" id="username_msg"></span>
				<br />
				password:
				<input type="password" name="pwd" />
				<br />
				checkcode:<img src="checkcode" id="img1"/>
				<a href="javascript:;" onclick="document.getElementById('img1').src='checkcode?' + (new Date().getTime())">change</a>
				<input type="text" name="number" id="number" onblur="valicheckcode();"/>
				<span style="color:red;" id="checkcode_msg"></span>
				<br/>
				<input type="submit" value="confirm" />
			</fieldset>
		</form>
	</body>
</html>

 

分享到:
评论

相关推荐

    【Ajax示例】

    【Ajax示例】中的知识点主要涉及使用Ajax技术实现动态数据加载和页面局部更新,特别是针对中国省份、城市、城镇联动选择列表框的应用。Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况...

    .net下最简单的ajax示例

    以下是一个关于如何在.NET环境下创建最简单AJAX示例的详细讲解。 首先,我们需要了解AJAX的基本工作原理。它允许浏览器在不重新加载整个页面的情况下,通过JavaScript向服务器发送异步请求并接收响应数据。这提高了...

    ajax 纯JavaScript demo ajax示例

    在压缩包文件"ajaxBasicJavaScript"中,可能包含了一些基础的Ajax示例代码,这些代码可能涵盖了上述步骤的实现,用于展示如何使用JavaScript进行Ajax请求。通过学习和分析这些示例,你可以更好地理解Ajax的工作原理...

    html静态页JQuery ajax示例demo 源码

    在这个"html静态页JQuery ajax示例demo 源码"中,我们可以深入学习和理解AJAX在C# ASP.NET环境下的应用。 首先,AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,能够更新部分网页的...

    ajax 示例源码(经典)

    通过学习和理解这些Ajax示例源码,开发者可以更好地掌握Ajax的运用,从而在实际项目中构建更加动态和交互丰富的网页应用。无论是简单的数据获取,还是复杂的表单提交、文件上传,Ajax都能提供有效的解决方案。

    ajax示例java版本

    这个“ajax示例java版本”应该是一个Java实现的Ajax应用,用于演示如何在后台处理和前端交互。 在Java中实现Ajax通常涉及到以下关键知识点: 1. **JavaScript库**:虽然Ajax的核心是JavaScript,但实际开发中我们...

    18个Ajax 示例

    在本资料中,我们将通过18个具体的Ajax示例,帮助你轻松掌握Ajax的核心概念和实践技巧。** ### 1. 基础概念 - **异步通信**:Ajax的核心特性,允许页面在不重新加载的情况下与服务器交互。 - **XMLHttpRequest对象*...

    ajax示例 原代码

    总之,`ajax示例 原代码`中的这三个文件展示了如何使用Ajax技术来实现动态页面更新,提供了一种非刷新方式的数据交互,增强了Web应用的交互性和响应速度。通过学习和理解这些示例,开发者可以更好地掌握Ajax的使用,...

    Ajax Demo Ajax 示例 XMLHttpRequest 异步 静态

    这个“Ajax 示例”旨在展示如何使用 Ajax 技术来实现异步请求,从而获取并显示静态内容,例如系统当前时间。 **Ajax 的核心组成部分** 1. **XMLHttpRequest 对象**:这是 Ajax 的基石,它允许 JavaScript 在后台与...

    springboot+ajax示例

    在"springboot+ajax示例"中,你可能会看到以下关键知识点: 1. **SpringBoot配置**:包括创建`@SpringBootApplication`注解的主类,配置数据源,定义RESTful API接口等。例如,你可能有一个`@RestController`注解的...

    ajax 简单示例

    总的来说,这个简单的Ajax示例展示了如何在不刷新整个页面的情况下与服务器进行通信,以及如何在Struts框架中配合使用Ajax。在实际开发中,我们还可以进一步优化,比如添加错误处理、使用Promise等现代JavaScript...

    c# ajax示例源码(AjaxPro控件方式)

    这个压缩包包含了一个使用AjaxPro控件实现的简单AJAX示例源码,通过VS2010开发。下面我们将详细探讨AjaxPro的使用方法和示例中的关键知识点。 **一、AjaxPro简介** AjaxPro是.NET框架下的一套解决方案,用于创建...

    bootstrap table ajax 示例

    在这个“bootstrap table ajax 示例”中,我们看到一个利用 Maven 构建的项目,它展示了如何通过 AJAX 从后台动态地分页获取并显示数据。 首先,我们需要理解Maven。Maven 是一个Java项目管理工具,它帮助开发者...

    NET3.5自带Ajax示例Demo源码

    此"NET3.5自带Ajax示例Demo源码"提供了如何在 Visual Studio 2010 下利用 .NET 3.5 的 AJAX 功能创建应用程序的实例。以下是这个示例程序可能包含的关键知识点: 1. **ASP.NET AJAX 控件工具包**:.NET 3.5 包含一...

    dwr3ReverseAjax示例

    在这个“dwr3ReverseAjax示例”中,我们将深入探讨如何利用DWR 3.x版本来构建一个基于Ajax的简单Web聊天应用。 首先,DWR的核心功能是通过HTTP协议实现在客户端JavaScript和服务器端Java之间的远程方法调用(Remote...

    php ajax 示例源码

    **PHP AJAX 示例源码详解** 在网页开发中,AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下,能够更新部分网页的技术。结合PHP,可以实现与服务器的异步交互,提升用户体验。本示例包含...

    自己做的ajax示例

    标题 "自己做的ajax示例" 描述了这是一个利用AJAX技术实现的互动功能演示,包括日历、拖放排序和星评。AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个网页的情况下,与服务器交换数据并更新部分网页的...

    Ajax示例程序及PPT

    在"Ajax示例程序"中,我们可以探索以下几个关键知识点: 1. **XMLHttpRequest对象**:这是Ajax的核心组件,用于在后台与服务器进行通信。它提供了打开、发送请求以及接收响应的方法,如open()、send()、...

    简单的AJAX示例(JSP+servlet)

    总结来说,"简单的AJAX示例(JSP+servlet)"是一个演示了如何利用AJAX、JSP和Servlet来实现异步用户名验证的应用。它涉及到前端的交互设计、后端的数据处理以及web服务器的配置,是一个典型的前后端分离的开发模式实例...

Global site tag (gtag.js) - Google Analytics