web端ajax,java,jsp流程图
先来写个.js,叫webask.js
/**
* Send the data to server
*/
function XmlHttpSend(url, method, params, asyn)
{
var headers = new Array(
new Array("Content-Type", "application/x-www-form-urlencoded;charset=GB2312"), //multipart/form-data
new Array("Connection", "Keep-Alive"),
new Array("Pragma", "no-cache"),
new Array("Cache-Control", "no-cache")
);
return XmlHttpSendEx(url, method, params, asyn, headers);
}
function XmlHttpSendEx(url, method, params, asyn, headers)
{
var objXMLHTTP = null;
var i, result = null, bie = true;;
if (window.XMLHttpRequest)
{
bie = false;
objXMLHTTP = new XMLHttpRequest();
}
else
{
var MSXML = new Array(‘MSXML2.XMLHTTP.5.0‘, ‘MSXML2.XMLHTTP.4.0‘, ‘MSXML2.XMLHTTP.3.0‘, ‘MSXML2.XMLHTTP‘, ‘Microsoft.XMLHTTP‘);
for(var i = 0; i < MSXML.length; i ++)
{
try
{
objXMLHTTP = new ActiveXObject(MSXML[i]);
break;
}
catch(e)
{
}
}
}
//compose the parameters
var strparam = null;
if(params != null)
{
for(i = 0; i < params.length; i++)
{
var tmp = params[i];
if(typeof(tmp) == ‘object‘ && (tmp instanceof Array) && tmp.length >= 2)
{
if(strparam == null)
{
strparam = tmp[0] + "=" + tmp[1];
}
else
{
strparam += "&" + tmp[0] + "=" + tmp[1];
}
}
}
}
if(strparam != null)
{
if(method == "GET")
{
if(url.indexOf("?") == -1)
{
url += "?" + strparam;
}
else
{
url += "&" + strparam;
}
}
}
objXMLHTTP.open(method, url, false);
//判断headers是否是一个对象
if(headers != null && typeof(headers) == ‘object‘ && (headers instanceof Array))
{
for(i = 0; i < headers.length; i++)
{
var tmp = headers[i];
if(typeof(tmp) == ‘object‘ && (tmp instanceof Array) && tmp.length >= 2)
{
objXMLHTTP.setRequestHeader(tmp[0], tmp[1]);
}
}
}
if(bie)
{
objXMLHTTP.onreadystatechange=function()
{
if (objXMLHTTP.readyState == 4)
{
result = objXMLHTTP.responseText;
}
}
}
if(method == "POST")
{
objXMLHTTP.setRequestHeader("Content-length", strparam.length);
objXMLHTTP.send(strparam);
}
else
{
objXMLHTTP.send(null);
}
if(!bie)
{
result = objXMLHTTP.responseText;
}
return result;
}
//以上是ajax完毕
function getNowTime()
{
var now=new Date();
var year=now.getFullYear();
var month=now.getMonth();
var day=now.getDate();
var hour=now.getHours();
var minute=now.getMinutes();
var second=now.getSeconds();
return (year + ‘-‘ + month + ‘-‘ + day + ‘ ‘ + hour + ‘:‘ + minute + ‘:‘ + second);
}
function ReplaceAll(strOrg,strFind,strReplace)
{
var index = 0;
while(strOrg.indexOf(strFind,index) != -1)
{
strOrg = strOrg.replace(strFind,strReplace);
index = strOrg.indexOf(strFind,index);
}
return strOrg
}
function trim(str)
{
if(str == null) return "" ;
while(str.charAt(0) == ‘ ‘ || str.charAt(0) == ‘\r‘ || str.charAt(0) == ‘\n‘ )
{
str = str.substring(1,str.length);
}
while(str.charAt(str.length-1) == ‘ ‘ || str.charAt(str.length-1) == ‘\r‘ || str.charAt(str.length-1) == ‘\n‘)
{
str = str.substring(0,str.length-1);
}
return str ;
}
//Get the point of control
function getPos(el,sProp)
{
var iPos = 0;
while (el != null)
????{
iPos += el["offset" + sProp];
el = el.offsetParent;
}
return iPos;
}
//Show layer
function showLayer(el, m, bshow)
{
if(bshow && m)
{
m.style.left = getPos(el,"Left");
m.style.top = getPos(el,"Top") + el.offsetHeight;
m.style.display = ‘‘;
}
else m.style.display = ‘none‘;
cmlayer = m;
}
var faceimages;
function loadFace()
{
faceimages = new Array()
faceimages[0] = new Array("/:o", "001.jpg");
faceimages[1] = new Array("/:~", "002.jpg");
faceimages[2] = new Array("/:&", "003.jpg");
faceimages[3] = new Array("/:|", "004.jpg");
faceimages[4] = new Array("/8-)", "005.jpg");
faceimages[5] = new Array("/:<", "006.jpg");
faceimages[6] = new Array("/:$", "007.jpg");
faceimages[7] = new Array("/:X", "008.jpg");
faceimages[8] = new Array("/:Z", "009.jpg");
faceimages[9] = new Array("/:‘(", "010.jpg");
faceimages[10] = new Array("/:-", "011.jpg");
faceimages[11] = new Array("/:@", "012.jpg");
faceimages[12] = new Array("/:P", "013.jpg");
faceimages[13] = new Array("/:D", "014.jpg");
faceimages[14] = new Array("/:)", "015.jpg");
faceimages[15] = new Array("/:(", "016.jpg");
faceimages[16] = new Array("/:+", "017.jpg");
faceimages[17] = new Array("/:#", "018.jpg");
faceimages[18] = new Array("/:Q", "019.jpg");
faceimages[19] = new Array("/:T", "020.jpg");
faceimages[20] = new Array("/:!", "021.jpg");
faceimages[21] = new Array("/:L", "022.jpg");
faceimages[22] = new Array("/:>", "023.jpg");
faceimages[23] = new Array("/:*", "024.jpg");
faceimages[24] = new Array("/<I>", "025.jpg");
faceimages[25] = new Array("/<PI>", "026.jpg");
faceimages[26] = new Array("/<pig>", "027.jpg");
faceimages[27] = new Array("/<cat>", "028.jpg");
faceimages[28] = new Array("/<dog>", "029.jpg");
faceimages[29] = new Array("/<hug>", "030.jpg");
faceimages[30] = new Array("/<coffee>","031.jpg");
faceimages[31] = new Array("/<eat>", "032.jpg");
faceimages[32] = new Array("/<pill>", "033.jpg");
faceimages[33] = new Array("/<rose>", "034.jpg");
faceimages[34] = new Array("/<fade>", "035.jpg");
faceimages[35] = new Array("/<kiss>", "036.jpg");
faceimages[36] = new Array("/<heart>", "037.jpg");
faceimages[37] = new Array("/<break>", "038.jpg");
faceimages[38] = new Array("/<meeting>","039.jpg");
faceimages[39] = new Array("/<gift>", "040.jpg");
faceimages[40] = new Array("/<phone>", "041.jpg");
faceimages[41] = new Array("/<time>", "042.jpg");
faceimages[42] = new Array("/:;", "043.jpg");
faceimages[43] = new Array("/<tv>", "044.jpg");
faceimages[44] = new Array("/<sun>", "045.jpg");
faceimages[45] = new Array("/<moon>", "046.jpg");
faceimages[46] = new Array("/<strong>","047.jpg");
faceimages[47] = new Array("/<weak>", "048.jpg");
faceimages[48] = new Array("/<share>", "049.jpg");
faceimages[49] = new Array("/<^>", "050.jpg");
for(i = 0; i < faceimages.length; i++)
{
var aimage = new Image();
aimage.src = "/images/faces/" + faceimages[i][1];
}
}
function changeFace(facesdiv, thetext, face)
{
thetext.value += face;
showLayer(null, facesdiv, false);
thetext.focus();
}
function displayFace(facesdiv, thetext)
{
var s = "";
for(i = 0; i < faceimages.length; i++)
{
s += "<img src=\"" + "/images/faces/" + faceimages[i][1] + "\" width=\"20\" height=\"20\" border=\"0\" alt=\"" + faceimages[i][0] + "\" style=\"cursor:hand\" onClick=\"changeFace(" + facesdiv + ", " + thetext + ", this.alt)\">";
if((i + 1) % 10 == 0) s += "<br>";
}
var f = document.getElementById(facesdiv);
//alert(s);
f.innerHTML = s;
}
function replaceFace(s)
{
for(i = 0; i < faceimages.length; i++)
{
s = ReplaceAll(s, faceimages[i][0], "<img src=\"" + "/images/faces/" + faceimages[i][1] + "\" width=\"20\" height=\"20\" border=\"0\">");
}
return s;
}
随时问界面:chat.jsp
<%@ page language="java" pageEncoding="gb2312" %>
<%@ page import="java.lang.*" %>
<%@ page import="ebs.domain.mdl.*" %>
<%@ page import="java.util.*"%>
<%
Integer ioImnum = (Integer) request.getAttribute("imnum");
int iImnum = ioImnum.intValue();
Integer ioRandid = (Integer) request.getAttribute("randid");
int iRandid = ioRandid.intValue();
WebAskUser askUser = (WebAskUser) request.getAttribute("webaskuser");
String logo_ent = (String)request.getAttribute("logo_ent");
String logo_user = (String)request.getAttribute("logo_user");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title><%=request.getAttribute("title")%></title>
<link href="/webask/ask.css" rel="stylesheet" type="text/css">
<script language="javascript" src="/webask/webask.js"></script>
<script language="javascript">
<!--
var clspin = true;
var wa_g_is_send_file = false;
function getLen(s)
{
var len = 0;
for(var i = 0; i < s.length; i++)
{
if(s.charCodeAt(i) > 127)
{
len +=2;
}
else
{
len ++;
}
}
return len;
}
function sendMsg(frm)
{
var s = trim(frm.content.value);
if(s == "")
{
alert("不能发送空消息!");
frm.content.value = ‘‘;
return;
}
if(getLen(s) > 200)
{
alert("消息大小不能大于200个字符!");
return;
}
var content = ‘‘;
for(i = 0; i < s.length; i++)
{
content += ‘0x‘ + s.charCodeAt(i);
}
document.recvfrm.content.innerHTML += "<font color=\"#CC0000\">您说 " + getNowTime() + ":</font><br> ";
s = ReplaceAll(ReplaceAll(s, "\r\n", "<br>")," ", " ");
s = replaceFace(s);
document.recvfrm.content.innerHTML += s + "<br>";
frm.content.value = ‘‘;
var params = new Array();
params[0] = new Array("module", "sendmsg");
params[1] = new Array("imnum", frm.imnum.value);
params[2] = new Array("randid", frm.randid.value);
params[3] = new Array("content", content);
result = XmlHttpSend("/webask", "POST", params, false);
//alert(result);
if (result != null && (result == "$SMS_" || result == "$LEAVE_"))
{
clspin = false;
frm.content.value = ‘‘;
if(result=="$SMS_")
{
window.location = "webask?module=smswords&imnum=<%=iImnum%>";
}
else
{
window.location = "webask?module=chat&imnum=<%=iImnum%>";
}
}
else if(result == null || result == "" || result.indexOf("200") != 0)
{
if(result.indexOf("444") == 0) result = "原因:没有权限" ;
if(result.indexOf("400") == 0) result = "原因:随时问过期或被禁用" ;
document.recvfrm.content.innerHTML += "<font color=\"#FF0000\">发送失败(" + result + ")</font><br> <font color=\"#CC0000\">" + s + "</font><br>";
}
return;
}
function contentKeyUp(frm, events)
{
var o_rtnsend = document.getElementById("rtnsend");
if(events.keyCode == 13 && o_rtnsend.checked)
{
sendMsg(frm);
}
}
function waSendFile(thefrm)
{
if(thefrm.filename.value == "")
{
alert(‘请选择要上传的文件!‘);
return false;
}
var filename = thefrm.filename.value;
filename = filename.substr(filename.lastIndexOf("\\") + 1);
document.recvfrm.content.innerHTML += "<font color=\"#FF0000\">文件(" + filename + ")发送中...</font><br>";
filewin(false);
wa_g_is_send_file = true;
return true;
}
function pointwin()
{
closeim();
if(clspin)
{
window.open(‘webask?module=point&onlineid=<%=request.getAttribute("onlineid")%>&webid=<%=request.getAttribute("webid")%>‘,"pointwin","height=240,width=300,toolbar=no,location=no,status=no");
}
}
function closeim()
{
if (window.XMLHttpRequest)
{
http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
http_request.open(‘GET‘, "webask?module=closeim&imnum=<%=iImnum%>&randid=<%=iRandid%>", true);
http_request.send(null);
}
function filewin(b)
{
if(wa_g_is_send_file)
{
document.recvfrm.content.innerHTML += "<font color=\"#FF0000\">文件发送中,请稍候...</font><br>";
return;
}
var fileb = document.getElementById("wa_file_box");
var textb = document.getElementById("wa_text_box");
if(b)
{
textb.style.display = ‘none‘;
fileb.style.display = ‘‘;
}
else
{
fileb.style.display = ‘none‘;
textb.style.display = ‘‘;
}
}
function saveLog()
{
document.slog.log.value = document.recvfrm.content.innerText;
document.slog.submit();
return true;
}
function wsStart()
{
loadFace();
displayFace(‘faces‘, ‘document.frmsend.content‘);
}
function sfFinish(frm_name)
{
var result = document.frames(frm_name).document.body.innerText;
if(result != null && result == "") return;
if(result.indexOf("200") == 0)
{
result = "已发送成功";
}
else if(result.indexOf("504") == 0)
{
result = "发送失败,文件大小不得超过2兆";
}
else
{
result = "发送失败";
}
filename = document.wa_frm_send_file.filename.value;
filename = filename.substr(filename.lastIndexOf("\\") + 1);
document.recvfrm.content.innerHTML += "<font color=\"#FF0000\">文件(" + filename + ")" + result+ "...</font><br>";
wa_g_is_send_file = false;
}
//-->
</script>
</head>
<body leftmargin="0" topmargin="0"
onLoad="wsStart()" onunload="pointwin();" oncontextmenu=‘return false‘ ondragstart=‘return false‘ >
<iframe width="0" height="0" scrolling="no" src="#" frameborder="0" name="wa_frm_file" onLoad="sfFinish(this.name)"></iframe>
<table width="608" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF">
<div id="head">
<div id="head01">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><span
class="font_blue">您正与<%=askUser.getNickname()%>交谈 </span>
</td>
<td align="right">
<%if(logo_ent!=null&&!logo_ent.trim().equals(""))
{%>
<img src="<%=request.getAttribute("logo_ent")%>" height="41" align="right" >
<%}else{%>
<%}%>
</td>
</tr>
</table>
</div>
<div id="head02"> </div>
</div>
</td>
</tr>
</table>
<table width="608" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF">
<div id="conchat">
<div id="conchat01">
<table width="427" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="32" background="/webask/ask_img/askcontop.jpg">
<span class="font_blue2"> <img
src="/webask/ask_img/asktip04.jpg" width="24"
height="24"> 如果您有任何疑问,也可以点击查看</span><span class="font_blue"><a href="/webask?module=listproblem&entnth=<%=(iImnum/1000)%>" target="_blank">常见问题</a>
</span>
</td>
</tr>
<tr>
<td height="200" valign="top" background="/webask/ask_img/askconbg.jpg">
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" onClick="showLayer(this, faces, false)">
<tr>
<td>
<font color="#FF0000" style="font-size:12px">请不要关掉对话窗口,不然将无法收到在线客服的回答!</font>
<iframe src="/webask?module=recvchat&imnum=<%=iImnum%>&randid=<%=iRandid%>"
name="mainfrm" id="recvfrm" marginWidth=0 marginHeight=0 width=420
height="182" frameborder="0">
</iframe>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="/webask/ask_img/askconbog.jpg" width="427" height="9"></td>
</tr>
</table>
<!-------------------------------------------------------------------------------------------->
<table width="427" border="0" align="center" cellpadding="0" cellspacing="0" >
<tr>
<td height="34" align="center" background="/webask/ask_img/askcontop2.jpg" class="font_blue2">
<img src="/webask/ask_img/asktip01.jpg"> <a href="#" onClick="saveLog()" style="text-decoration:none">保存对话记录</a>
<img src="/webask/ask_img/asktip02.jpg">
<a href="#" onClick="showLayer(this, faces, true)" style="text-decoration:none">表情</a>
<img src="/webask/ask_img/asktip03.jpg"> <a href="#" onclick="filewin(true)" style="text-decoration:none">传送文件</a>
<input type="checkbox" id="rtnsend" checked>回车键发送信息 </td>
</tr>
<tr>
<td height="68" background="/webask/ask_img/askconbg.jpg">
<div id="wa_text_box">
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" onClick="showLayer(this, faces, false)">
<form method="post" name="frmsend">
<input type="hidden" name="imnum" value="<%=iImnum%>">
<input type="hidden" name="randid" value="<%=iRandid%>">
<tr>
<td width="86%" valign="top" class="font_black">
<textarea name="content" cols="54"
rows="5" class="input_no"
onKeyUp="contentKeyUp(this.form, event)"></textarea>
</td>
<td width="14%" align="right">
<img src="/webask/ask_img/askbut.jpg" width="58" height="45" border="0"
onClick="sendMsg(document.frmsend)"></td>
</tr>
</form>
</table>
</div>
<div id="wa_file_box" style="display:none">
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0" onClick="showLayer(this, faces, false)">
<form method="post" name="wa_frm_send_file" action="webask?module=sendfile&imnum=<%=iImnum%>&randid=<%=iRandid%>" enctype="multipart/form-data" target="wa_frm_file" onSubmit="return waSendFile(this)">
<tr>
<td width="86%" valign="top" class="font_black">
请选择要上传的文件:<input type="file" name="filename" class="input">
<input type="submit" value="上传" class="input">
<input type="button" value="取消" onClick="filewin(false)" class="input">
<br><span class="font_red">注意:</span>文件大小不得超过2兆;文件类型:zip,rar,doc,txt,gif,jpg,png,ppt,xls。如果文件大,点确定后可能会有停顿感,请耐心等待。
</td>
</tr>
</form>
</table>
</div>
</td>
</tr>
<tr>
<td><img src="/webask/ask_img/askconbog2.jpg" width="427" height="9"></td>
</tr>
<div id="faces"
style="position:absolute;top:10;left:10;width:210;display:none;background-color:#FFFFCC;border:solid black 1px"></div>
</table>
<!------------------------------------------------------------------------------------------>
</div>
<div id="conchat02">
<table width="75%" border="0" align="center" cellpadding="0" cellspacing="0" onClick="showLayer(this, faces, false)">
<tr>
<td><img src="/webask/ask_img/askrtop.jpg" width="146" height="11"></td>
</tr>
<tr>
<td height="330" valign="top" background="/webask/ask_img/askrbg.jpg">
<table width="75%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<img src="<%if(logo_user!=null&&!logo_user.trim().equals(""))out.print(logo_user);else { %>/<%=WebAsk.LOGO_FOLDER%>/<%=WebAskUser.DEFAULT_LOGO%><%}%> " width="130" height="130">
</td>
</tr>
<!-------------------------------------------------------------------------------------->
<tr>
<td bgcolor="#FFFFFF">
<%if(askUser.getDisplay()==WebAskUser.DISPLAY_YES){
Hashtable haUser = (Hashtable)request.getAttribute("htUser");
%>
<span class="font_blue">姓名:</span><span class="font_black"><%out.print((String)haUser.get("lstnam")+(String)haUser.get("fstnam"));%></span><br>
<span class="font_blue">部门:</span><span class="font_black"><%=haUser.get("orgname")%></span><br>
<span class="font_blue">职务:</span><span class="font_black"><%=haUser.get("duty")%></span><br>
<span class="font_blue">地址:</span><span class="font_black"><%=haUser.get("adr")%></span>
<br>
<span class="font_blue">电子邮件:</span><span class="font_black"><a href=" mailto:<%=haUser.get("mail")%>"><%=haUser.get("mail")%></a></span><br>
<%}else{
out.print(" ");
}%>
<br>
</td>
</tr>
<!------------------------------------------------------------------------------------------>
</table>
</td>
</tr>
<tr>
<td><img src="/webask/ask_img/askrbot.jpg" width="146" height="9"></td>
</tr>
</table>
</div>
</div>
</td>
</tr>
</table>
<table width="608" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><img src="/webask/ask_img/askbot.jpg" width="608" height="12"></td>
</tr>
</table>
<form method="post" action="/webask" name="slog">
<input type="hidden" name="module" value="savelog">
<input type="hidden" name="randid" value="<%=iRandid%>">
<input type="hidden" name="log" value="">
</form>
</body>
</html>
接收返回的消息记录:recvchat.jsp(在iframe里显示)
<%@ page language="java" pageEncoding="gb2312" %>
<%@ page import="java.lang.*" %>
<%
Integer ioImnum = (Integer) request.getAttribute("imnum");
int iImnum = ioImnum.intValue();
Integer ioRandid = (Integer) request.getAttribute("randid");
int iRandid = ioRandid.intValue();
String stNickName = (String)request.getAttribute("nickname");
//String stNickName = Integer.toString(iImnum);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<link href="/main.css" rel="stylesheet" type="text/css">
<style type="text/css">
body
{
BACKGROUND-COLOR: #ffffff;
BORDER-BOTTOM: 0px;
BORDER-LEFT: 0px;
BORDER-RIGHT: 0px;
BORDER-TOP: 0px;
COLOR: #666666;
border-color: #006699 #006699 #006699 #006699; font-size: 9pt
margin: 0px;
padding: 0px;
scrollbar-face-color: #DBE3F4;
scrollbar-arrow-color: #668BC7;
scrollbar-track-color: #C8D6EE;
font: 12px/20px ??ì?;
}
</style>
<script language="javascript" src="/webask/webask.js"></script>
<script language="JavaScript">
<!--
var oldscr = 0;
function autoscroll()
{
//alert(document.body.scrollTop + " " + document.body.scrollHeight);
if(oldscr < document.body.scrollHeight)
{
window.scroll(0, document.body.scrollTop + document.body.scrollHeight - oldscr);
oldscr = document.body.scrollHeight;
}
window.setTimeout(‘autoscroll()‘, 200);
}
function recvmsg()
{
var params = new Array();
params[0] = new Array("module", "recvmsg");
params[1] = new Array("imnum", <%=iImnum%>);
params[2] = new Array("randid", <%=iRandid%>);
var result = XmlHttpSend("/webask", "POST", params, false);
if(result != "" && result.indexOf("200 ") == 0)
{
result = result.substr(4);
var buf = result.split("0x");
var s = "";
for(i = 1; i < buf.length; i++)
{
s += String.fromCharCode(parseInt(buf[i], 10));
}
content.innerHTML += "<font color=\"#0033CC\"><%=stNickName%>?μ " + getNowTime() + ":</font><br> ";
s = ReplaceAll(s, "\n", "<br>");
s = replaceFace(s);
content.innerHTML += s + "<br>";
if(window.parent)
{
parent.focus();
}
else
{
window.focus();
}
}
window.setTimeout(‘recvmsg()‘, 3000);
}
//-->
</script>
</head>
<body leftmargin="0" topmargin="0" onLoad="loadFace();autoscroll();window.setTimeout(‘recvmsg()‘, 3000);" oncontextmenu=‘return false‘ ondragstart=‘return false‘ >
<div id="content">
<font color="#CC0000"><%=stNickName%> <script language="javascript">document.write(getNowTime())</script>:</font>
<br>
<%=request.getAttribute("welcome")%>
<br>
</div>
</body>
</html>
java执行:WebAskSvl.java
protected void sendMsg(HttpServletRequest oReq, HttpServletResponse oRsp)
{
PrintWriter out = null;
try
{
out = oRsp.getWriter();
}
catch (Exception ex)
{
}
WebAsk webAsk = new WebAsk();
WebAskUser webAskUser = new WebAskUser();
int iImnum = checkWebAskUser(webAsk, webAskUser, oReq, oRsp); //10浣?
String filterResult = filterSpecial(iImnum).trim();
if(!filterResult.equals(""))
{
out.print(filterResult);return;
}
/*if (iImnum == 0) return;*/
if (isMidSmsLeaveWord(webAskUser, oRsp))
{
return;
}
String stRandId = oReq.getParameter("randid");
int iRandid;
try
{
iRandid = Integer.parseInt(stRandId);
}
catch (NumberFormatException e)
{
out.print("500 Error");
return;
}
String stContent = oReq.getParameter("content");
if (stContent == null || "".equals(stContent.trim()))
{
out.print("500 Error");
return;
}
stContent = encode(stContent);
if(AwayTools.getGB2312Length(stContent) > 200)
{
out.print("501 Error");
return;
}
String stArea = oReq.getRemoteAddr();
try
{
long ip = AwayTools.ipToInt(stArea);
if (ip != -1)
{
stArea = IPAddress.queryIPArea(ip);
}
}
catch (SQLException e)
{
}
WebAskLog log = new WebAskLog();
log.setContent(stContent);
log.setDtime(new java.sql.Timestamp(System.currentTimeMillis()));
log.setIp_address(stArea);
log.setWebask_sid(webAsk.getId());
log.setWebask_user_sid(webAskUser.getSid());
log.setFlag(WebAskLog.FLAG_CLIENT);
log.setWeb_id(iRandid);
try
{
WebAskLogMng.save(log);
}
catch (SQLException e)
{
e.printStackTrace();
out.print("502 Error");
return;
}
WebAskManager.send(iImnum, iRandid, stContent);
out.print("200 Successfully");
}
protected void showRecvChat(HttpServletRequest oReq, HttpServletResponse oRsp)
{
WebAsk webAsk = new WebAsk();
WebAskUser webAskUser = new WebAskUser();
int iImnum = checkWebAskUser(webAsk, webAskUser, oReq, oRsp); //10浣?
String filterResult = filterSpecial(iImnum).trim();
if(!filterResult.equals(""))
{
return;
}
/*if (iImnum == 0) return;*/
String stRandId = oReq.getParameter("randid");
int iRandid;
try
{
iRandid = Integer.parseInt(stRandId);
}
catch (NumberFormatException e)
{
this.shwErrMsg("_ERROR_INPUT", oReq, oRsp);
return;
}
oReq.setAttribute("nickname", webAskUser.getNickname());
oReq.setAttribute("welcome", webAskUser.getWelcome());
oReq.setAttribute("randid", new Integer(iRandid));
this.shwPag("/webask/recvchat.jsp", oReq, oRsp);
}
protected void recvMsg(HttpServletRequest oReq, HttpServletResponse oRsp)
{
WebAsk webAsk = new WebAsk();
WebAskUser webAskUser = new WebAskUser();
int iImnum = checkWebAskUser(webAsk, webAskUser, oReq, oRsp); //10浣?
/*String filterResult = filterSpecial(iImnum).trim();
if(!filterResult.equals(""))
{
out.print(filterResult);return;
}*/
if (iImnum == 0) return;
String stRandId = oReq.getParameter("randid");
int iRandid;
try
{
iRandid = Integer.parseInt(stRandId);
}
catch (NumberFormatException e)
{
//this.shwErrMsg("_ERROR_INPUT", oReq, oRsp);
return;
}
String stContent = WebAskManager.recv(iImnum, iRandid);
//System.out.println("Recv: " + iImnum + " " + iRandid + " " + stContent);
PrintWriter out = null;
try
{
out = oRsp.getWriter();
}
catch (Exception ex)
{
}
if (stContent != null && ! stContent.trim().equals(""))
{
String stArea = oReq.getRemoteAddr();
try
{
long ip = AwayTools.ipToInt(stArea);
if (ip != -1)
{
stArea = IPAddress.queryIPArea(ip);
}
}
catch (SQLException e)
{
}
WebAskLog log = new WebAskLog();
log.setContent(stContent);
log.setDtime(new java.sql.Timestamp(System.currentTimeMillis()));
log.setIp_address(stArea);
log.setWebask_sid(webAsk.getId());
log.setWebask_user_sid(webAskUser.getSid());
log.setWeb_id(iRandid);
log.setFlag(WebAskLog.FLAG_WAITER);
log.setWeb_id(iRandid);
try
{
WebAskLogMng.save(log);
}
catch (Exception e)
{
e.printStackTrace();
}
out.print("200 " + decode(stContent));
}
else
{
out.print("404 ");
}
}