<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 笑看人生 閱讀(332) 評論(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>


    主站蜘蛛池模板: 亚洲精品美女在线观看播放| 亚洲日韩中文字幕在线播放| a级毛片在线免费| 久久不见久久见免费影院www日本 久久WWW免费人成—看片 | 亚洲欧美成aⅴ人在线观看| 亚洲成人免费网址| 亚洲综合色丁香麻豆| 人与禽交免费网站视频| 在线免费观看一级毛片| 亚洲国产精品综合久久网络| 国产亚洲福利精品一区二区| 花蝴蝶免费视频在线观看高清版 | eeuss影院ss奇兵免费com| 永久免费在线观看视频| 亚洲日本在线播放| 国产精品久久久久久久久久免费| 一本色道久久88—综合亚洲精品| 国产又黄又爽胸又大免费视频| 日韩亚洲变态另类中文| 无码专区AAAAAA免费视频| 亚洲午夜国产精品| baoyu777永久免费视频 | 120秒男女动态视频免费| 国产精品亚洲精品| 四虎影视精品永久免费网站| 亚洲精品人成电影网| 大地资源免费更新在线播放| 国产青草亚洲香蕉精品久久| 国产AV无码专区亚洲AWWW| 污污网站免费观看| 亚洲国产精品ⅴa在线观看| 亚洲午夜精品久久久久久浪潮| 亚洲精品无码久久久久秋霞| 亚洲国产日韩成人综合天堂| 亚洲精品国产首次亮相| 国产亚洲精品成人AA片新蒲金 | 黄色成人网站免费无码av| 无套内谢孕妇毛片免费看看| 国产乱人免费视频| 免费黄色电影在线观看| 久久精品国产亚洲AV网站 |