chatbf11.jsp

来自「这是一个简单的基于Ajax和DWR实现的无刷新在线实时聊天程序」· JSP 代码 · 共 126 行

JSP
126
字号
<%@ page contentType="text/xml; charset=GBK" language="java" import="java.sql.*" pageEncoding="GBK"%><%!

public String repla(String str){
	str = str.replaceAll("&", "&amp;");
	str = str.replaceAll(">", "&gt;");
	str = str.replaceAll("<", "&lt;");
	str = str.replaceAll("\"", "&quot;");
	str = str.replaceAll("\'", "&#39;");
	return str;
}
/**/
%><%
String  useIp = request.getRemoteAddr();

String counts = (String)application.getAttribute("counts");
if(counts==null||counts.equals("")){
	application.setAttribute("counts","0");
}
//out.println((String)application.getAttribute("counts")); 

int tmp = 0;
String names = "";
String cont = request.getParameter("cont");
if (cont==null)cont="";
if(cont.length()!= 0){
		
	//Application.Lock()
	synchronized(this)
	{
		if(Integer.parseInt((String)application.getAttribute("counts")) < 21){		
			
			tmp = Integer.parseInt((String)application.getAttribute("counts"));
			
			tmp++;

			application.setAttribute("counts",tmp+"");

		}else if(Integer.parseInt((String)application.getAttribute("counts")) >= 21){
			application.setAttribute("counts","1");
		}

		String Cnum = (String)application.getAttribute("counts");
		String Msgs = repla(cont);

		application.setAttribute("ips"+ Cnum,useIp);
		application.setAttribute("msgs"+ Cnum,Msgs);

		if(request.getParameter("named").length() != 0){
			names = request.getParameter("named");
		}else{
			names = "";
		}
		application.setAttribute("names" + Cnum,names);

	}
		/*
		Application("ips" + Cnum) = useIp +""
		Application("msgs" + Cnum) = Msgs +""
		if(Request("named").Count != 0){
			var names = Request("named")
		}else{
			var names = ""
		}
		Application("names" + Cnum) = names +""
		/**/
		//Application.UnLock()
}
if(cont.equals("cls")){
	application.setAttribute("counts","");
}
%><?xml version="1.0" encoding="gb2312" ?>
<ppl>
	<num><%=(String)application.getAttribute("counts")%></num>
	<%
	if(request.getParameter("clien").equals("m")){
	%>
	<items>
		<ip><%=useIp%></ip>
	</items>
	<%
	}else if(Integer.parseInt(request.getParameter("clien")) < Integer.parseInt((String)application.getAttribute("counts"))){
		for(int i=Integer.parseInt(request.getParameter("clien")); i<Integer.parseInt((String)application.getAttribute("counts")); i++){
			int s = i+1;
			String useName = (String)application.getAttribute("names" + s);
			String useMsg = (String)application.getAttribute("msgs" + s);
			useIp = (String)application.getAttribute("ips"+ s) ;
	%>
	<items>
		<aaa><%=request.getParameter("clien")%> <%=s%></aaa>
		<bbb><%=(String)application.getAttribute("counts")%></bbb>
		<name><%=useName%></name>
		<conts><%=useMsg%></conts>
		<ip><%=useIp%></ip>
	</items>
	<%
		}
	}else if(Integer.parseInt(request.getParameter("clien")) > Integer.parseInt((String)application.getAttribute("counts"))){
		for(int i=Integer.parseInt(request.getParameter("clien")); i<21; i++){
			String useName = (String)application.getAttribute("names" + i);
			String useMsg = (String)application.getAttribute("msgs"+ i) ;
			useIp = (String)application.getAttribute("ips" + i);
	%>
	<items>
		<name><%=useName%></name>
		<conts><%=useMsg%></conts>
		<ip><%=useIp%></ip>
	</items>
	<%
		}
		for(int m=1; m<=Integer.parseInt((String)application.getAttribute("counts")); m++){
			String useNameM = (String)application.getAttribute("names"+m);
			String useMsgM = (String)application.getAttribute("msgs" + m);
			String useIpM = (String)application.getAttribute("ips" + m);
	%>
	<items>
		<name><%=useNameM%></name>
		<conts><%=useMsgM%></conts>
		<ip><%=useIpM%></ip>
	</items>
	<%
		}
	}else if(Integer.parseInt(request.getParameter("clien")) == Integer.parseInt((String)application.getAttribute("counts"))){
		
	}
	%>
</ppl>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?