Ajax技术使用方法详解 及 编写一个简短的Java程序演示其作用

Ajax(Asynchronize JavaScript and XML,异步JavaScript和XML)并不是一项新技术,它产生的主要目的是用于页面的局部刷新。

Ajax本身是一门综合性的技术,其中最重要的就是XMLHttpRequest 对象。创建XMLHttpRequest对象则必须使用JavaScript。创建代码如下:

XMLHttpRequest对象的属性:

NO             属性                                                      描述
1 onreadystatechange 指定当readyState改变时使用的操作,一般用于设置回调函数
2 readyState 返回当前的状态,只读
3 responseBody 以unsigned byte 数组的形式 将回应信息正文返回,只读
4 responseStream 以Ado Stream 对象的形式返回响应信息,只读
5 responseText 接受普通文本返回的数据,只读
6 responseXML

接受以XML形式返回的数据,只读

7 status 返回当前请求的http状态码,只读
8 statusText 返回当前请求的响应行状态,只读

 

 

 

 

 

 

 

 

 

 readyState一共有五种取值,分别介绍如下:

0 - (请求没有发出)在调用open()之前

1 - (请求建立但还没发出)在调用send()之前 

2 - (请求载入完成,正在处理当中)send()方法执行完成,已经接收到全部响应内容

3 - (交互)正在解析响应内容

4 - (完成)响应内容解析完成,客户端可以访问服务器响应并使用

XMLHttpRequest对象的方法:

NO                方法                                  描述
1 abort() 取消当前所发出的请求
2 getAllResponseHeader() 取得所有的HTTP头信息
3 getResponseHeader() 取得一个指定的HTTP头信息
4 open() 创建一个HTTP请求,并指定请求模式
5 send() 将创建的请求发送到服务器,并接受回应信息
6 setResquestHeader() 设置一个指定请求的HTTP头信息

 

 

 

 

 

 

 

 

下面通过一个Java程序演示其作用↓

 

编写一个登陆注册程序,如果注册ID已经存在,则提示用户ID重复无法注册。如图↓

 

Ajax技术使用方法详解 及 编写一个简短的Java程序演示其作用_第1张图片  Ajax技术使用方法详解 及 编写一个简短的Java程序演示其作用_第2张图片

 

数据库表如图→                (mysql数据库)

 

前端页面代码(login_register.jsp)↓

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="GBK"%>




登录程序



用户ID:
用户名:
密码 :

创建Serlvet验证用户ID是否已经存在  CheckServlet代码↓

package cn.web.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

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

public class CheckSerlvet extends HttpServlet{

 public static final String DBDRIVER="com.mysql.jdbc.Driver";
 public static final String DBURL="jdbc:mysql://localhost:3306/demo";
 public static final String DBUSER="root";
 public static final String DBPASSWORD="root";
 private static Connection con=null;
 
 public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {
	 doPost(req, res);
 }
public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException{
   
	 req.setCharacterEncoding("GBK");
	 res.setContentType("text/html");
	 PreparedStatement pstmt=null;
	 ResultSet rs=null;
	 PrintWriter out=res.getWriter();//获取页面输出流
	 String userid=req.getParameter("userid");
	try { 
		Class.forName(DBDRIVER);
	 con=DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
	String SQL="select count(userid) from user where userid=?" ;
	pstmt=con.prepareStatement(SQL);
	 pstmt.setString(1, userid);
	 rs=pstmt.executeQuery();
	 if(rs.next()) {
		 if(rs.getInt(1)>0) {
			 out.print("true");
		 }else {
			 out.print("false");
		 }
	 }
	 out.close();
}catch(Exception e){
	e.printStackTrace();
}finally {
try {
	con.close();
} catch (SQLException e) {
	e.printStackTrace();
}
  }
 }
}

在本页面中,使用Ajax验证用户ID是否重复,当用户输入完userid内容后,触发输入焦点事件(onblur()),调用checkUesrid()函数验证用户ID 是否在数据库中存在,如果存在,服务器返回true,则提示用户ID重复无法注册。

 

Ajax技术并不只能在Java中使用,各个动态的Web实现技术,如PHP、ASP.NET都已经很好地支持了Ajax技术。

感谢您的阅读,技术交流扣扣3492625357。

 

你可能感兴趣的:(Ajax技术使用方法详解 及 编写一个简短的Java程序演示其作用)