Ajax Java資料庫示例

在此示例中,我們使用Ajax與資料庫進行交互。無需太多的代碼。僅在伺服器端頁面中寫入資料庫邏輯。

在這個例子中,在index.jsp檔中編寫了伺服器端代碼。

通過jsp使用資料庫創建ajax示例的步驟

需要按照以下步驟操作:

  • 加載org.json.jar
  • 創建輸入頁面以接收文本或數字
  • 創建伺服器端頁面以處理請求

第1步:加載org.json.jar檔

下載此示例,在WEB-INF/lib目錄中放入org.json.jar檔。

第2步:創建輸入頁面以接收文本或數字

在此頁面中,我們創建了一個從用戶獲取輸入的表單。當用戶按任意鍵時,調用sendInfo()函數。在這個函數中編寫了所有的ajax代碼。

只要準備好狀態更改,就調用了getInfo()函數。它通過innerHTML屬性動態地將返回的數據寫入網頁。

檔:table1.html

<html>

<head>
    <script>
        var request;
        function sendInfo() {
            var v = document.vinform.t1.value;
            var url = "index.jsp?val=" + v;

            if (window.XMLHttpRequest) {
                request = new XMLHttpRequest();
            }
            else if (window.ActiveXObject) {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            }

            try {
                request.onreadystatechange = getInfo;
                request.open("GET", url, true);
                request.send();
            } catch (e) { alert("Unable to connect to server"); }
        }

        function getInfo() {
            if (request.readyState == 4) {
                var val = request.responseText;
                document.getElementById('amit').innerHTML = val;
            }
        }

    </script>
</head>

<body>
    <marquee>
        <h1>This is an example of ajax</h1>
    </marquee>
    <form name="vinform">
        Enter id:<input type="text" name="t1" onkeyup="sendInfo()">
    </form>

    <span id="amit"> </span>

</body>

</html>

第3步:創建伺服器端頁面以處理請求

在這個jsp頁面中,我們列印給定id的員工的編號和姓名。

檔:index.jsp

<%@ page import="java.sql.*"%>

<%
String s=request.getParameter("val");
if(s==null || s.trim().equals("")){
    out.print("Please enter id");
}else{
    int id=Integer.parseInt(s);
    out.print(id);
try{
    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mdb","root","root");
    PreparedStatement ps=con.prepareStatement("select * from emp where id=?");
    ps.setInt(1,id);
    ResultSet rs=ps.executeQuery();
    while(rs.next()){
        out.print(rs.getInt(1)+" "+rs.getString(2));
    }
    con.close();
}catch(Exception e){
    e.printStackTrace();
    }
}
%>

執行上面專案示例代碼,得到類似以下結果 -


上一篇: Ajax Java示例 下一篇: Java AJAX電子郵件檢驗示例