欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Ajax解決多余刷新的兩種方法(總結)

Ajax解決多余刷新的兩種方法(總結)

熱門標簽:東平縣地圖標注app 地圖標注推銷坑人 大眾點評400電話怎么申請 中國地圖標注不明確情況介紹表 河間市地圖標注app 怎樣在地圖標注文字 立陶宛地圖標注 上海企業外呼系統價錢 電銷機器人 長春

控制器Servlet則提供了簡單的改變:

對于Ajax系統而言,服務器響應無須是整個頁面內容,可以僅是

必需的數據,控制器不能將數據請求轉發到jsp頁面。

此時控制器有兩個選擇:

1、直接生成簡單的響應數據。

在這種模式下,Servlet直接通過response獲取頁面輸出流,通過

輸出流生成字符響應。

package pers.zkr.chat.web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import pers.zkr.chat.service.ChatService;


@WebServlet(urlPatterns={"/chat.do"})
public class ChatServlet extends HttpServlet {

 @Override
 public void service(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
 // TODO Auto-generated method stub
 
 request.setCharacterEncoding("utf-8");
 
 
 String msg=request.getParameter("chatMsg");
 System.out.println(msg);
 
 if(msg!=null!msg.equals("")){
  String user=(String)request.getSession().getAttribute("user");
  System.out.println(user+"user");
  ChatService.instance().addMsg(user, msg);
  
 }
 
 //設置響應內容的類型
 strong>response.setContentType("text/html;charset=utf-8");
 // 獲取頁面輸出流
 PrintWriter out = response.getWriter();
 //直接生成響應
 out.println(ChatService.instance().getMsg());/strong>
 
 request.setAttribute("msg",ChatService.instance().getMsg());
 
 forward("/chat.jsp", request , response);
 }

 private void forward(String url, HttpServletRequest request,
  HttpServletResponse response) throws ServletException, IOException {
 // TODO Auto-generated method stub
 
 request.getRequestDispatcher(url)
   .forward(request , response);  
 }
 
}    

2、轉向一個簡單的jsp使用JSP頁面生成簡單的響應。

控制器將請求轉發到另外的JSP頁面,而JSP頁面僅僅負責輸出聊天信息

在這里需要一個jsp頁面來接收控制器發來的數據,也是服務器的響應文本,而在

原來的頁面,只需:

1)創建XMLHttpRequest對象

2) 發送請求

3)接收服務器的響應

package org.crazyit.chat.web;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;

import java.io.*;

import org.crazyit.chat.service.*;

/**
 * Description:
 * br/>網站: a href=https://www.jb51.net>腳本之家/a>
 * br/>Copyright (C), 2001-2014, Yeeku.H.Lee
 * br/>This program is protected by copyright laws.
 * br/>Program Name:
 * br/>Date:
 * @version 1.0
 */
@WebServlet(urlPatterns={"/chat.do"})
public class ChatServlet extends HttpServlet
{
 public void service(HttpServletRequest request,
 HttpServletResponse response)throws IOException,ServletException
 {
 // 設置使用GBK字符集來解析請求參數
 request.setCharacterEncoding("utf-8");
 String msg = request.getParameter("chatMsg");
 if ( msg != null  !msg.equals(""))
 {
  // 取得當前用戶
  String user = (String)request.getSession(true)
  .getAttribute("user");
  // 調用ChatService的addMsg來添加聊天消息
  ChatService.instance().addMsg(user , msg);
 }
 // 將全部聊天信息設置成request屬性
 strong>request.setAttribute("chatList" ,
  ChatService.instance().getMsg());/strong>
 // 轉發到chatreply.jsp頁面
 forward("/chatreply.jsp" , request , response);
 }
 // 執行轉發請求的方法
 private void forward(String url , HttpServletRequest request,
 HttpServletResponse response)throws ServletException,IOException
 {
 // 執行轉發
 request.getRequestDispatcher(url)
  .forward(request,response);
 }
}

接收數據的頁面

%@ page contentType="text/html;charset=GBK" errorPage="error.jsp"%>
%-- 輸出當前的聊天信息 --%>
${requestScope.chatList}

html頁面

!DOCTYPE html>
html>
head>
 meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
 meta http-equiv="Content-Type" content="text/html; charset=GBK" />
 title>聊天頁面/title>
/head>
body onload="sendEmptyRequest();">
div style="width:780px;border:1px solid black;text-align:center">
h3>聊天頁面/h3>
p>
textarea id="chatArea" name="chatArea" cols="90"
 rows="30" readonly="readonly">/textarea>
/p>
div align="center">
 input id="chatMsg" name="chatMsg" type="text"
 size="90" onkeypress="enterHandler(event);"/>
 input type="button" name="button" value="提交"
 onclick="sendRequest();"/>
/div>
/div>
script type="text/javascript">
var input = document.getElementById("chatMsg");
input.focus();
var XMLHttpReq;
// 創建XMLHttpRequest對象  
function createXMLHttpRequest()
{
 if(window.XMLHttpRequest)
 { 
 // DOM 2瀏覽器
 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()
{
 // input是個全局變量,就是用戶輸入聊天信息的單行文本框
 var chatMsg = input.value;
 // 完成XMLHttpRequest對象的初始化
 createXMLHttpRequest();
 // 定義發送請求的目標URL
 var url = "chat.do";
 // 通過open方法取得與服務器的連接
 // 發送POST請求
 XMLHttpReq.open("POST", url, true);
 // 設置請求頭-發送POST請求時需要該請求頭
 XMLHttpReq.setRequestHeader("Content-Type",
 "application/x-www-form-urlencoded");
 // 指定XMLHttpRequest狀態改變時的處理函數
 XMLHttpReq.onreadystatechange = processResponse;
 // 清空輸入框的內容
 input.value = "";
 // 發送請求,send的參數包含許多的key-value對。
 // 即以:請求參數名=請求參數值 的形式發送請求參數。
 

 
 XMLHttpReq.send("chatMsg=" + chatMsg); 
}

//定時請求服務器
function sendEmptyRequest()
{
 // 完成XMLHttpRequest對象的初始化
 createXMLHttpRequest();
 // 定義發送請求的目標URL
 var url = "chat.do";
 // 發送POST請求
 XMLHttpReq.open("POST", url, true);
 // 設置請求頭-發送POST請求時需要該請求頭
 XMLHttpReq.setRequestHeader("Content-Type",
 "application/x-www-form-urlencoded");
 // 指定XMLHttpRequest狀態改變時的處理函數
 XMLHttpReq.onreadystatechange = processResponse;
 // 發送請求,,不發送任何參數
 XMLHttpReq.send(null);
 // 指定0.8s之后再次發送請求
 setTimeout("sendEmptyRequest()" , 800);
}
// 處理返回信息函數
function processResponse()
{
 // 當XMLHttpRequest讀取服務器響應完成
 if (XMLHttpReq.readyState == 4)
 {
 // 服務器響應正確(當服務器響應正確時,返回值為200的狀態碼)
 if (XMLHttpReq.status == 200)
 {
  // 使用chatArea多行文本域顯示服務器響應的文本
  document.getElementById("chatArea").value 
  = XMLHttpReq.responseText;
 }
 else
 {
  // 提示頁面不正常
  window.alert("您所請求的頁面有異常。");
 }
 }
}

function enterHandler(event)
{
 // 獲取用戶單擊鍵盤的“鍵值”
 var keyCode = event.keyCode ? event.keyCode 
 : event.which ? event.which : event.charCode;
 // 如果是回車鍵
 if (keyCode == 13)
 {
 sendRequest();
 }
}
/script>
/body>
/html>

以上這篇Ajax解決多余刷新的兩種方法(總結)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 純JS實現AJAX局部刷新功能
  • ajax無刷新評論功能
  • AJAX如何實現無刷新登錄功能
  • ajax的分頁查詢示例(不刷新頁面)

標簽:四川 內江 遼寧 營口 本溪 銅川 玉樹 益陽

巨人網絡通訊聲明:本文標題《Ajax解決多余刷新的兩種方法(總結)》,本文關鍵詞  Ajax,解決,多余,刷,新的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ajax解決多余刷新的兩種方法(總結)》相關的同類信息!
  • 本頁收集關于Ajax解決多余刷新的兩種方法(總結)的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲欧美一区二区三区极速播放| 波多野结衣一区二区三区| 亚洲乱妇老熟女爽到高潮的片| 日韩三级在线观看视频| 国产亚洲va综合人人澡精品| 麻豆精品在线播放| 极品粉嫩小仙女高潮喷水久久| 欧美一区二区三区日韩| 亚洲成人自拍偷拍| 91亚洲一线产区二线产区 | 成人做爰视频网站| 久久久久国产免费免费| 国模一区二区三区白浆| 伊人影院综合网| 久久精品夜色噜噜亚洲a∨| 久久成人免费网| 阿v天堂2014| 国产日韩欧美一区二区三区乱码 | www.成人在线| 少妇影院在线观看| 亚洲欧美激情插| 91香蕉视频mp4| 欧美色欧美亚洲另类二区| 亚洲综合色噜噜狠狠| 男男一级淫片免费播放| 欧美一激情一区二区三区| 日本v片在线高清不卡在线观看| 久久中文字幕人妻| 久久嫩草精品久久久精品| 国产一区二区不卡在线| www色aa色aawww| 一区二区在线免费观看| 少妇献身老头系列| 欧美一区二区精品在线| 久久99国产精品久久99果冻传媒| 中文字幕乱码av| 亚洲另类春色国产| 国产十八熟妇av成人一区| 日韩视频免费观看高清完整版在线观看 | 日韩欧美国产一区二区三区| 久久99日本精品| 看免费黄色录像| 伊人色综合久久天天人手人婷| 国产十八熟妇av成人一区| 2023国产一二三区日本精品2022| 国产精品77777| 欧洲色大大久久| 视频一区二区不卡| 人妻无码一区二区三区免费| 亚洲丝袜制服诱惑| 99久久人妻精品免费二区| 国产偷v国产偷v亚洲高清| 亚洲精品无码久久久久久久| 精品久久久久久久久久久久久久久| 国产福利一区二区三区在线视频| 欧美在线观看视频在线| 男男视频亚洲欧美| 老湿机69福利| 日韩成人av影视| 性爱在线免费视频| 亚洲一区二区五区| 美国美女黄色片| 亚洲夂夂婷婷色拍ww47| 久久久久亚洲AV成人无在| 亚洲美女精品一区| 国产成人综合亚洲网站| 欧美日韩综合在线免费观看| 九一九一国产精品| 欧美伊人久久久久久午夜久久久久| 美女一区二区视频| 日本久久一区二区| 久久av老司机精品网站导航| 在线看国产一区二区| 狠狠色狠狠色合久久伊人| 欧美一a一片一级一片| 精品一区二区久久| 欧美日韩一区二区三区高清| 国产美女av一区二区三区| 欧美片网站yy| 成人免费高清在线| 日韩你懂的在线观看| 91在线免费播放| 久久久久久久久久美女| fc2成人免费视频| 成人欧美一区二区三区白人| 制服 丝袜 综合 日韩 欧美| 亚洲第一福利一区| 国产高清在线免费观看| 韩日欧美一区二区三区| 欧美美女一区二区| 成人免费观看视频| 久久精品夜夜夜夜久久| 欧美黑人欧美精品刺激| 亚洲一区在线视频| 色综合久久久网| 国产酒店精品激情| 日韩欧美的一区二区| 久久免费精品国产| 亚洲欧美一区二区不卡| 三级黄色片在线观看| 老司机精品视频导航| 欧美精品一卡两卡| 91麻豆产精品久久久久久| 国产精品婷婷午夜在线观看| 欧美激情亚洲色图| 日本大胆欧美人术艺术动态| 欧美手机在线视频| av一本久道久久综合久久鬼色| 国产农村妇女精品| 波多野结衣一二三四区| 免费人成黄页网站在线一区二区| 欧美人狂配大交3d怪物一区| 91污在线观看| 尤物av一区二区| 中文字幕在线有码| 国产不卡在线播放| 欧美极品aⅴ影院| 亚洲色图第四色| 国产在线精品一区在线观看麻豆| 欧美变态tickle挠乳网站| 鲁大师私人影院在线观看| 五月婷婷激情综合| 欧美日本不卡视频| www.男人天堂| 日本不卡一二三区黄网| 日韩精品影音先锋| 亚洲狠狠婷婷综合久久久久图片| 日本欧美久久久久免费播放网| 欧美一级二级在线观看| 中文字幕av观看| 久久精品国产精品亚洲精品| 精品国产凹凸成av人网站| brazzers精品成人一区| 麻豆极品一区二区三区| 久久伊99综合婷婷久久伊| 免费看的黄色网| 国产在线视频一区二区| 国产精品午夜电影| 国精品无码一区二区三区| 成人av电影在线| 亚洲精品中文在线| 欧美日韩大陆在线| 中文字幕免费高清视频| 免费成人你懂的| 久久综合精品国产一区二区三区| 亚洲精品成人av久久| 国产夫妻精品视频| 亚洲视频一二区| 欧美日韩一卡二卡| 亚洲激情 欧美| 看电影不卡的网站| 亚洲国产精品传媒在线观看| 黄色a级片在线观看| 91麻豆国产精品久久| 日韩精品一级二级| 久久综合色一综合色88| 91香蕉视频在线播放| 欧美性猛交xx| 日韩福利视频导航| 久久久久久麻豆| 色猫猫国产区一区二在线视频| 成人一区二区三区仙踪林| 奇米精品一区二区三区在线观看一 | 奇米综合一区二区三区精品视频| 久久伊人中文字幕| 色999日韩国产欧美一区二区| 91老师片黄在线观看| 日韩精品亚洲一区二区三区免费| 久久久久久久久一| 日本韩国欧美国产| 日本黄色片在线播放| 国产乱码精品一品二品| 亚洲免费在线看| 91精品国产手机| 亚洲欧美日韩第一页| 91美女蜜桃在线| 免费成人在线网站| 亚洲欧美在线另类| 欧美一级高清大全免费观看| 老熟妇高潮一区二区三区| 国产调教打屁股xxxx网站| 另类综合日韩欧美亚洲| 国产精品的网站| 日韩一区二区高清| www.毛片com| 爱爱免费小视频| 99视频在线精品| 久久国产精品72免费观看| 亚洲日本护士毛茸茸| 欧美草草影院在线视频| 在线亚洲一区观看| 精品人妻一区二区三区四区| 91丨porny丨九色| 国产在线精品国自产拍免费| 亚洲黄色在线视频| 在线看日本不卡| 波多野结衣欲乱| 小毛片在线观看| 99久久伊人精品| 极品少妇一区二区|