• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • AJAX教程

    Java+AJAX搜索示例

     

     

    在此示例中,我們將創建一個表單,使用java與ajax實現按名稱搜索員工。在這里,我們編寫了兩層應用程序代碼,以使應用程序易于理解。您可以根據標準編寫數據庫代碼。

     

     

    在Java中使用AJAX創建搜索示例的步驟

     

    需要按照以下步驟操作:

     

    • 在數據庫中創建表

     

    • 加載org.json.jar文件

     

    • 創建輸入表單

     

    • 創建服務器端頁面以使用名稱搜索員工

     

     

    加載org.json.jar文件

     

    下載此示例,在WEB-INF/lib目錄中包含了org.json.jar文件。

     

     

    創建輸入表單

     

    在此頁面中,我們創建了一個表單,該表單從用戶獲取輸入以按名稱搜索員工。用戶在按鍵盤后釋放鍵時,會調用searchInfo()函數。ajax代碼寫在searchInfo()函數中。

     

    文件:index.html

     

    <!DOCTYPE html>
    <html>
    
    <head>
        <script>
            var request = new XMLHttpRequest();
            function searchInfo() {
                var name = document.vinform.name.value;
                var url = "index.jsp?val=" + name;
    
                try {
                    request.onreadystatechange = function () {
                        if (request.readyState == 4) {
                            var val = request.responseText;
                            document.getElementById('mylocation').innerHTML = val;
                        }
                    }//end of function  
                    request.open("GET", url, true);
                    request.send();
                } catch (e) { alert("Unable to connect to server"); }
            }  
        </script>
    </head>
    
    <body>
        <h1>Search Employee</h1>
        <form name="vinform">
            <input type="text" name="name" onkeyup="searchInfo()">
        </form>
    
        <span id="mylocation"></span>
    </body>
    
    </html>

     

     

    創建服務器端頁面以處理請求

     

    在這個jsp頁面中,我們編寫數據庫代碼來搜索以給定名稱開頭的員工。

     

    文件:index.jsp

     

    <%@ page import="java.sql.*" %>  
    <%  
    String name=request.getParameter("val");  
    if(name==null||name.trim().equals("")){  
    out.print("<p>Please enter name!</p>");  
    }else{  
    try{  
    Class.forName("oracle.jdbc.driver.OracleDriver");  
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","oracle");  
    PreparedStatement ps=con.prepareStatement("select * from emp911 where name like '"+name+"%'");  
    ResultSet rs=ps.executeQuery();  
    
    if(!rs.isBeforeFirst()) {      
     out.println("<p>No Record Found!</p>");   
    }else{  
    out.print("<table border='1' cellpadding='2' width='100%'>");  
    out.print("<tr><th>Id</th><th>Name</th><th>Email</th>  
    <th>Address</th><th>City</th><th>State</th><th>Country</th></tr>");  
    while(rs.next()){  
    out.print("<tr><td>"+rs.getString(1)+"</td><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td>  
    <td>"+rs.getString(4)+"</td><td>"+rs.getString(5)+"</td><td>"+rs.getString(6)+"</td>  
    <td>"+rs.getString(7)+"</td></tr>");  
    }  
    out.print("</table>");  
    }//end of else for rs.isBeforeFirst  
    con.close();  
    }catch(Exception e){out.print(e);}  
    }//end of else  
    %>

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏