1. 程式人生 > >14.javaweb AJAX技術詳解

14.javaweb AJAX技術詳解

填充 cut pub cti div htm .get conn lec

一、簡介

1, ajax:在不重新加載網頁的前提下,與服務器交換數據並更新部分網頁的技巧,但其本身並不是一種新技術

技術分享

2, 核心:XMLHttpRequest對象。AJAX技術主要是通過此對象完成的。

技術分享

在創建此對象的時候一定要考慮瀏覽器的問題

XMLHttpRequest對象的創建

技術分享

XMLHttpRequest對象屬性

技術分享

其中readyState有五種取值

技術分享

XMLHttpRequest對象方法

技術分享

3, 簡單示例:利用ajax完成局部刷新功能:局部刷新,在<span>中導入content.html內容

content.html內容

技術分享

Flush.html

技術分享

xmlHttp.onreadystatechange=showMsgCallback;表示當xmlHttp的請求狀態改變時,就會調用showMsgCallback()方法,事實上,當xmlHttp.send()發送請求到響應完成,readyState會經歷”2“(請求正在處理)、”3”(請求已經處理)、”4“(響應完成)三次變化,如果回調函數在xmlHttp.send()之前設置,便會調用三次showMsgCallback()方法。我們設置readyState=4時執行操作,因為此時響應完成,服務器會把回應內容填充到xmlHttp.response***屬性中

點擊“調用ajax顯示內容”則會動態的在<span>中生成”取得數據”

技術分享

二、ajax異步驗證:當新用戶註冊信息時,輸入ID後,異步驗證ID是否可用

login.html

技術分享

註意此處用到的地址重寫的方式

Checkservlet

package com.chen.ying;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CheckId extends HttpServlet { final String DBDIVRE="com.mysql.jdbc.Driver"; final String URL="jdbc:mysql://localhost:3306/test"; final String USER="root"; final String PASSWORD="1995228"; Connection conn=null; PreparedStatement pstmt=null; ResultSet rs=null; public void doGet(HttpServletRequest req,HttpServletResponse res){ int userid=Integer.parseInt(req.getParameter("userid")); try{ System.out.println(userid); PrintWriter out=res.getWriter();//得到回應的輸出流 Class.forName(DBDIVRE); conn=DriverManager.getConnection(URL,USER,PASSWORD); String sql="select userid from person where userid=?"; pstmt=conn.prepareStatement(sql); pstmt.setInt(1, userid); rs=pstmt.executeQuery(); if(rs.next()){ System.out.println("用戶ID重復"); out.print("true"); } else{ System.out.println("ID可用"); out.print("false"); } }catch(Exception e){ System.out.println(e); } } public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req, res); } }

效果

當用戶輸入id,光標離開輸出框後,利用ajax技術,異步驗證輸入的id是否重復

技術分享

技術分享

三、返回XML數據

1, 要求

技術分享

14.javaweb AJAX技術詳解