81,122
社区成员




function InitAjax(){
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}
function sendMsg(){
if(connection){
document.getElementById("msgByLine").innerHTML += "<li>您还没有建立连接.</li>";
return;
}
var msg = document.getElementById("text").value;
if(msg == ""){
return;
}
document.getElementById("text").value = "";
var url = "servlet/Online?flag=2&id="+flag+"&content="+ msg +"&da="+new Date();
var ajax = InitAjax();
url = encodeURI(url);
url = encodeURI(url);
ajax.open("GET", url, true);
//ajax.setRequestHeader("Content-Type","text/html;charset=UTF-8");
//ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
//ajax.setRequestHeader("content-Type","text/html;charset=utf-8;");
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {
var responseT = ajax.responseText;
if(responseT == "over"){
document.getElementById("msgByLine").innerHTML += "<li>您已经结束对话·</li>";
}else{
var d = new Date();
var hours = add_zero(d.getHours())+":";
var minutes = add_zero(d.getMinutes())+":";
var seconds=add_zero(d.getSeconds());
document.getElementById("msgByLine").innerHTML += "<li><b>我 "+ hours + minutes + seconds +":</b> "+msg+"</li>";
}
var div = document.getElementById("message");
div.scrollTop = div.scrollHeight;
}
}
ajax.send(null);
if(flag.equals("2")||flag.equals("1")){
int random = Integer.parseInt(request.getParameter("id"));
if(chat.get(random) == null){
//已经结束对话
out.print("over");
return;
}
//检查聊天记录是否超过100条,则删除前50条
if(chat.get(random).size() > 100)
for(int i = 0; i < 50; i++){
chat.get(random).remove(i);
}
//处理中文乱码
String d = request.getParameter("content");
System.out.println(request.getQueryString());
d = new String(d.getBytes("ISO-8859-1"),"UTF-8");
//System.out.println(d);
//String content = new String(d.getBytes("ISO-8859-1"),"utf-8");
//System.out.println(d);
//String dd = new String(d.getBytes("ISO-8859-1"),"UTF-8");
//System.out.println("+++++"+dd);
System.out.println(d);
Online online = new Online();
online.setFlag(Integer.parseInt(flag));
online.setContent(d);
online.setDate(new SimpleDateFormat("HH:mm:ss").format(System.currentTimeMillis()));
chat.get(random).add(online);
}