ホームページ >Java >&#&チュートリアル >JSPで部分リフレッシュを実装する方法
部分更新を実装する Jsp メソッド: 最初に Ajax リクエストを処理する JSP ファイルを作成し、次に出力情報の形式と文字セットを設定し、最後に JSP と Ajax を使用して部分ページ更新を実装します。
AJAX を使用すると、JavaScript は JavaScript の XMLHttpRequest オブジェクトを使用してサーバーと直接通信できます。このオブジェクトを通じて、JavaScript はページをリロードせずに Web サーバーとデータを交換できます。
推奨コース: Java チュートリアル 。
AJAX はブラウザと Web サーバーの間で非同期データ転送 (HTTP リクエスト) を使用します。これにより、Web ページはページ全体ではなく少量の情報をサーバーに要求できます。
実験では、JSP ajax を使用してページを自動的に更新し、データベース内のデータを読み書きしました。
以下は、JSP ajax を使用して部分的なページ更新を実現する小さな例です。
ajax リクエストを処理する Jsp ファイル: ajax.jsp
<%@ page contentType="text/html; charset=gb2312" %> <% //这是一个Java程序 //设置输出信息的格式及字符集 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)+ "号传感器</name>"); out.println("<count>" +(int)(Math.random()*100)+ "</count>"); } out.println("</response>"); out.close(); %>
ajax リクエストを送信する jsp ファイル: zx.jsp
<head> <META http-equiv=Content-Type content="text/html; charset=gb2312"> </head> <script language="javascript"> var XMLHttpReq; //创建XMLHttpRequest对象 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) {} } } } //发送请求函数 function sendRequest() { createXMLHttpRequest(); var url = "ajax.jsp"; XMLHttpReq.open("GET", url, true); XMLHttpReq.onreadystatechange = processResponse;//指定响应函数 XMLHttpReq.send(null); // 发送请求 } // 处理返回信息函数 function processResponse() { if (XMLHttpReq.readyState == 4) { // 判断对象状态 if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息 DisplayHot(); setTimeout("sendRequest()", 1000); } else { //页面不正常 window.alert("您所请求的页面有异常。"); } } } 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>无线传感网</B> </TD> </TR> <tr> <td height="20"> 传感器:</td> <td height="20" id="product"> </td> </tr> <tr> <td height="20">传感器个数:</td> <td height="20" id="count"> </td> </tr> </body> </table>
効果は次のとおりです (ページ上の値は自動的に変更されます):
部分更新後:
#
以上がJSPで部分リフレッシュを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。