溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

jsp如何實(shí)現(xiàn)局部刷新

發(fā)布時(shí)間:2020-09-16 10:55:21 來(lái)源:億速云 閱讀:307 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下jsp如何實(shí)現(xiàn)局部刷新,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

通過(guò) AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 對(duì)象來(lái)直接與服務(wù)器進(jìn)行通信。通過(guò)這個(gè)對(duì)象, JavaScript 可在不重載頁(yè)面的情況與 Web 服務(wù)器交換數(shù)據(jù)。


jsp如何實(shí)現(xiàn)局部刷新

AJAX 在瀏覽器與 Web 服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP 請(qǐng)求),這樣就可使網(wǎng)頁(yè)從服務(wù)器請(qǐng)求少量的信息,而不是整個(gè)頁(yè)面。

實(shí)驗(yàn)中利用JSP+ajax來(lái)實(shí)現(xiàn)自動(dòng)刷新頁(yè)面,并讀/寫(xiě)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

下面介紹一下利用JSP+ajax來(lái)實(shí)現(xiàn)局部頁(yè)面刷新的小例子:

處理ajax請(qǐng)求的jsp文件:ajax.jsp

<%@ page contentType="text/html; charset=gb2312" %>  
<%  
//這是一個(gè)Java程序
//設(shè)置輸出信息的格式及字符集
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control","no-cache");
out.println("<response>");
for(int i=0;i<2;i++){  
out.println("<name>"+(int)(Math.random()*10)+
"號(hào)傳感器</name>");
out.println("<count>" +(int)(Math.random()*100)+ "</count>");
}
out.println("</response>");
out.close();
%>

發(fā)送ajax請(qǐng)求的jsp文件:zx.jsp

<head>  
    <META http-equiv=Content-Type content="text/html; charset=gb2312">  
    </head>  
    <script language="javascript">  
      
    var XMLHttpReq;  
        //創(chuàng)建XMLHttpRequest對(duì)象         
        function createXMLHttpRequest() {  
            if(window.XMLHttpRequest) { //Mozilla 瀏覽器  
                XMLHttpReq = new XMLHttpRequest();  
            }  
            else if (window.ActiveXObject) { // IE瀏覽器  
                try {  
                    XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");  
                } catch (e) {  
                    try {  
                        XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");  
                    } catch (e) {}  
                }  
            }  
        }  
        //發(fā)送請(qǐng)求函數(shù)  
        function sendRequest() {  
            createXMLHttpRequest();  
            var url = "ajax.jsp";  
            XMLHttpReq.open("GET", url, true);  
            XMLHttpReq.onreadystatechange = processResponse;//指定響應(yīng)函數(shù)  
            XMLHttpReq.send(null);  // 發(fā)送請(qǐng)求  
        }  
        // 處理返回信息函數(shù)  
        function processResponse() {  
            if (XMLHttpReq.readyState == 4) { // 判斷對(duì)象狀態(tài)  
                if (XMLHttpReq.status == 200) { // 信息已經(jīng)成功返回,開(kāi)始處理信息  
                    DisplayHot();  
                    setTimeout("sendRequest()", 1000);  
                } else { //頁(yè)面不正常  
                    window.alert("您所請(qǐng)求的頁(yè)面有異常。");  
                }  
            }  
        }  
        function DisplayHot() {  
            var name = XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;  
            var count = XMLHttpReq.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;  
            document.getElementById("product").innerHTML = name;      
            document.getElementById("count").innerHTML = count;   
        }  
      
      
    </script>  
      
    <body onload =sendRequest()>  
    <table style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 cellPadding=0 width=200    bgColor=#f5efe7 border=0>  
      
    <TR>  
       <TD align=middle bgColor=#dbc2b0 height=19 colspan="2"><B>無(wú)線傳感網(wǎng)</B> </TD>  
    </TR>  
    <tr>  
       <td height="20"> 傳感器:</td>  
       <td height="20" id="product"> </td>  
    </tr>  
    <tr>  
       <td height="20">傳感器個(gè)數(shù):</td>  
       <td height="20" id="count"> </td>  
    </tr>  
    </body>  
    </table>

看完了這篇文章,相信你對(duì)jsp如何實(shí)現(xiàn)局部刷新有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI