Maison >Java >javaDidacticiel >Comment implémenter une actualisation partielle dans jsp
Méthode JSP pour implémenter l'actualisation partielle : créez d'abord un fichier jsp pour traiter les requêtes ajax ; puis définissez le format et le jeu de caractères des informations de sortie ; enfin, utilisez JSP et ajax pour implémenter l'actualisation partielle de la page.
Avec AJAX, JavaScript peut communiquer directement avec le serveur à l'aide de l'objet XMLHttpRequest de JavaScript. Grâce à cet objet, JavaScript peut échanger des données avec le serveur web sans recharger la page.
Cours recommandé : Tutoriel Java.
AJAX utilise le transfert de données asynchrone (requêtes HTTP) entre le navigateur et le serveur Web, ce qui permet à une page Web de demander de petites quantités d'informations au serveur plutôt qu'à la page entière.
Dans l'expérience, JSP+ajax a été utilisé pour actualiser automatiquement la page et lire/écrire les données dans la base de données.
Ce qui suit est un petit exemple d'utilisation de JSP+ajax pour obtenir une actualisation partielle de la page :
Fichier Jsp qui gère les requêtes ajax : 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(); %>
Le fichier jsp qui envoie la requête ajax : 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>
L'effet est le suivant (la valeur sur la page change automatiquement) :
Après rafraîchissement partiel :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!