<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 36, comments - 30, trackbacks - 0, articles - 3

    Ajax學習一

    Posted on 2009-11-01 12:31 笑看人生 閱讀(325) 評論(0)  編輯  收藏 所屬分類: Web開發技術
    簡單介紹一下Ajax應用程序的基本流程:

    1. 創建XMLHttpRequest對象;
    2. 從頁面中獲取獲取需要的數據;
    3. 建立要連接的URL;
    4. 打開與服務器的連接;
    5. 設置服務器相應之后要調用的函數,即回調函數;
    6. 發送請求;
    下面以一個簡單的例子來演示一下,該例子要完成的功能是使用Ajax技術對輸入的EMail地址進行簡單校驗,根據校驗的結果,在頁面顯示相應的消息。

    index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding
    ="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>

    <script language="javascript">
          
    var xmlHttp;  
         
    function sendreq(){  
           xmlHttp 
    = createXMLHttpRequest();  //步驟1
           
    var url = "AjaxServlet?email=" + document.getElementById("email").value;//步驟2,3
           xmlHttp.open(
    "GET", url);  //步驟4
           xmlHttp.onreadystatechange 
    = handleStateChange; //步驟5
           xmlHttp.send(
    null);    //步驟6
        }  
         
    function handleStateChange(){       
          
    if(xmlHttp.readyState == 4){  
             
    if(xmlHttp.status == 200){             
                 document.getElementById(
    "result").innerHTML=xmlHttp.responseText;  
             }  
           }  
         }  
         
    function createXMLHttpRequest(){  
             
    if (window.ActiveXObject){  
                 xmlHttp 
    = new ActiveXObject("Microsoft.XMLHTTP");  
             }  
             
    else if (window.XMLHttpRequest){  
                 xmlHttp 
    = new XMLHttpRequest();  
             }  
             
    return xmlHttp;  
         }  
        
        
    </script>
    <body>
      
    <label id="result">&nbsp;</label><br>
      Email:
    <input type="text" id="email" onblur="sendreq()" value="" />  
      
    <label id="result">&nbsp;</label>
      
    </body>
    </html>

    AjaxServlet.java

    package servlet;

    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 = 7032718233562299325L;

        @Override
        
    protected void doPost(HttpServletRequest req, HttpServletResponse response)
                
    throws ServletException, IOException {
            processRequest(req, response, 
    "POST");
        }

        @Override
        
    protected void doGet(HttpServletRequest req, HttpServletResponse response)
                
    throws ServletException, IOException {
            processRequest(req, response, 
    "GET");
        }

        
    private void processRequest(HttpServletRequest req,
                HttpServletResponse response, String method) 
    throws IOException {
            String email 
    = req.getParameter("email");
            StringBuffer validator 
    = new StringBuffer("");
            validator.append(method);
            response.setContentType(
    "text/html;charset=UTF-8");
            PrintWriter writer 
    = response.getWriter();
            
    if (email.indexOf("@"< 0) {
                validator.append(
    ":FAILURE!");
            }
    else{
                validator.append(
    ":SUCCESS!");
            }
            writer.write(validator.toString());
            writer.close();
        }
    }

    GET和POST請求方式區別:

    • POST方法將參數串放在請求體中發送;
    • GET方法將參數串放在URL中發送;

    如果數據處理不改變數據模型的狀態,建議使用GET方式,如果需要改變數據模型的狀態,建議使用POST方式;

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4"
        xmlns
    ="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        
    <display-name>ajax</display-name>
        
    <welcome-file-list>
            
    <welcome-file>index.jsp</welcome-file>
        
    </welcome-file-list>
        
    <servlet>
            
    <servlet-name>AjaxServlet</servlet-name>
            
    <servlet-class>servlet.AjaxServlet</servlet-class>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>AjaxServlet</servlet-name>
            
    <url-pattern>/AjaxServlet</url-pattern>
        
    </servlet-mapping>
    </web-app>


    主站蜘蛛池模板: 在线看片免费人成视频久网下载| 亚洲五月午夜免费在线视频| 色窝窝免费一区二区三区| 中文字幕在线观看亚洲视频| 韩国18福利视频免费观看| 特黄特色大片免费| 久久精品亚洲中文字幕无码网站| 免费人成在线观看69式小视频| 精品久久久久久久久亚洲偷窥女厕| 浮力影院亚洲国产第一页| 国产精品成人观看视频免费 | 丝袜捆绑调教视频免费区| 亚洲四虎永久在线播放| 好吊妞998视频免费观看在线| jizz免费在线观看| 亚洲AV性色在线观看| 久久国产亚洲精品麻豆| 成人爽A毛片免费看| 中国国产高清免费av片| 男女男精品网站免费观看| 亚洲精品中文字幕无乱码| 亚洲va中文字幕无码| 1000部拍拍拍18免费网站| 男女午夜24式免费视频| 日韩亚洲翔田千里在线| 亚洲乱码在线卡一卡二卡新区| 国产午夜亚洲精品午夜鲁丝片| 成年性生交大片免费看| 久操视频免费观看| a在线免费观看视频| 日韩色视频一区二区三区亚洲| 亚洲欧美国产国产一区二区三区| 久久久亚洲精品无码| 亚洲Av无码乱码在线观看性色 | 久久丫精品国产亚洲av| 国产成人毛片亚洲精品| 18禁无遮挡无码网站免费| 亚色九九九全国免费视频| 中文字幕无码一区二区免费| 男女午夜24式免费视频| 十八禁无码免费网站|