📄 cobrowse.java
字号:
String s4 = (String)cnf.get("proxyhost");
String s5 = (String)cnf.get("proxyport");
String s6 = getId();
s = s.trim();
if(s.length() == 0)
{
getControlMasterHtml(httpsession, httpservletrequest, httpservletresponse);
} else
{
if(!s.toUpperCase().startsWith("HTTP"))
s = "http://" + s;
if(CoRequest.GetSite(s, s4, s5, null, s3, s6))
{
CoRequest.modifyFile(s3, s6, s, s1, httpservletresponse);
Hashtable hashtable;
if(s2 != null && (hashtable = (Hashtable)browsers.get(s2)) != null)
hashtable.put("rlnm", s6);
}
httpservletresponse.setContentType("text/html");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html>");
printwriter.println("<br> change location to " + s);
printwriter.println("<script language=\"JavaScript\">");
printwriter.println("parent.mnmstr.location.href=\"" + httpservletresponse.encodeURL(s1 + "?" + "a" + "=" + "pnst" + "&" + "id" + "=" + s6) + "\";");
printwriter.println("</script>");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
}
private String prepareMsg(String s)
{
String s1 = s.trim();
StringBuffer stringbuffer = new StringBuffer("");
for(int i = 0; i < s1.length(); i++)
{
char c = s1.charAt(i);
if(c == '<')
stringbuffer.append("<");
else
if(c == '>')
stringbuffer.append(">");
else
if(c == '"')
stringbuffer.append(""");
else
if(c == '&')
stringbuffer.append("&");
else
stringbuffer.append(c);
}
return stringbuffer.toString();
}
private boolean readConfig(String s, Hashtable hashtable)
{
boolean flag = true;
try
{
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(new FileInputStream(s)));
String s1;
while((s1 = bufferedreader.readLine()) != null)
{
s1 = s1.trim();
if(s1.length() > 0)
{
int i = s1.indexOf("=");
if(i > 0 && i < s1.length() - 1 && s1.charAt(0) != '#' && !s1.startsWith("//"))
hashtable.put(s1.substring(0, i).trim(), s1.substring(i + 1).trim());
}
}
bufferedreader.close();
hashtable.put("initok", "yes");
}
catch(Exception _ex)
{
flag = false;
}
return flag;
}
private String readTextFile(String s)
{
StringBuffer stringbuffer = new StringBuffer("");
try
{
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(new FileInputStream(s)));
String s1;
while((s1 = bufferedreader.readLine()) != null)
{
stringbuffer.append(s1);
stringbuffer.append(NEWLINE);
}
bufferedreader.close();
}
catch(Exception _ex) { }
return stringbuffer.toString();
}
private void setDefaults(Hashtable hashtable)
{
if(hashtable.get("title") == null)
hashtable.put("title", "Coldjava's co-browsing");
if(hashtable.get("bgcolor") == null)
hashtable.put("bgcolor", "#FFFFFF");
if(hashtable.get("bgcolor1") == null)
hashtable.put("bgcolor1", "#FFFFF");
if(hashtable.get("bgcolor2") == null)
hashtable.put("bgcolor2", "#D3D3D3");
if(hashtable.get("fgcolor") == null)
hashtable.put("fgcolor", "#000000");
if(hashtable.get("fgcolor1") == null)
hashtable.put("fgcolor1", "#000000");
if(hashtable.get("fgcolor2") == null)
hashtable.put("fgcolor2", "#000000");
if(hashtable.get("encoding") == null)
hashtable.put("encoding", "ISO-8859-1");
if(hashtable.get("dhtml") == null)
hashtable.put("dhtml", "1");
if(hashtable.get("chatwindow") == null)
hashtable.put("chatwindow", "width=400,height=420,location=no,toolbar=no,menubar=no,scrollbars=yes,resize=yes");
}
private void showFile(String s, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s1 = (String)cnf.get("dir");
String s2 = readTextFile(s1 + "__" + s);
String s3 = "";
if(s2.endsWith(NEWLINE))
s2 = s2.substring(0, s2.length() - NEWLINE.length());
if(s2.length() == 0)
s2 = "text/html";
httpservletresponse.setContentType(s2);
javax.servlet.ServletOutputStream servletoutputstream = httpservletresponse.getOutputStream();
s3 = "_";
if(!CoRequest.rewriteFile(s1 + s3 + s, servletoutputstream))
servletoutputstream.write("<html><p>Could not open requested site</html>".getBytes());
servletoutputstream.flush();
servletoutputstream.close();
}
private void showSite(HttpSession httpsession, HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = httpservletrequest.getQueryString();
String s1 = getFromQuery(s, "id=");
showFile(s1, httpservletresponse);
}
private void slaveScreen(HttpSession httpsession, HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = httpservletrequest.getParameter("a");
String s1 = httpservletrequest.getQueryString();
if(s1 == null)
s1 = "";
if(s == null)
s = getFromQuery(s1, "a=");
if(s.length() == 0)
{
if(s1.length() == 0)
getInitSlaveHtml(httpservletrequest, httpservletresponse);
else
errorMessage2(httpservletrequest, httpservletresponse);
} else
if(s.equals("mnslv"))
getMainSlaveHtml(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("sbslv"))
getSubSlaveHtml(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("cntrlslv"))
getControlSlaveHtml(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("mpt"))
emptyScreen(httpservletresponse);
else
if(s.equals("cht"))
getChatHtml(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("ext"))
closeSession(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("mncht"))
getMainChat(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("nptcht"))
getInputChat(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("rfrshcht"))
getRefreshChat(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("cht1"))
addChatMessage(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("pnst"))
showSite(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("gtst"))
getSite(httpsession, httpservletrequest, httpservletresponse);
else
getInitSlaveHtml(httpservletrequest, httpservletresponse);
}
private void startSession(HttpSession httpsession, HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = httpservletrequest.getQueryString();
String s1 = getFromQuery(s, "a=");
if(s1.equals("nw"))
{
String s2;
if((s2 = httpservletrequest.getParameter("ssnm")) == null)
s2 = "";
else
s2 = s2.trim();
if(s2.length() == 0)
initScreen(httpservletrequest, httpservletresponse);
else
if(browsers.get(s2) != null)
{
initScreen(httpservletrequest, httpservletresponse);
} else
{
httpsession.removeValue("rl");
httpsession.putValue("rl", "m");
httpsession.putValue("ssnm", s2);
Hashtable hashtable1 = new Hashtable();
hashtable1.put("id", httpsession.getId());
hashtable1.put("ssnm", s2);
hashtable1.put("clnts", new Hashtable());
hashtable1.put("cnt", new Long(0L));
hashtable1.put("cht", new Vector());
hashtable1.put("lck", new Object());
hashtable1.put("sbfrms", new Hashtable());
browsers.put(s2, hashtable1);
masterScreen(httpsession, httpservletrequest, httpservletresponse);
}
} else
if(s1.equals("jn"))
{
String s3 = httpservletrequest.getParameter("ssnm");
String s4 = httpservletrequest.getParameter("un");
s4 = s4.trim();
if(s4.length() == 0)
s4 = "anonimous";
Hashtable hashtable;
if((hashtable = (Hashtable)browsers.get(s3)) == null)
{
initScreen(httpservletrequest, httpservletresponse);
} else
{
hashtable = (Hashtable)hashtable.get("clnts");
Hashtable hashtable2 = new Hashtable();
hashtable2.put("un", s4);
hashtable2.put("crtd", new Long(System.currentTimeMillis()));
hashtable.put(httpsession.getId(), hashtable2);
httpsession.removeValue("rl");
httpsession.putValue("rl", "s");
httpsession.putValue("ssnm", s3);
httpsession.putValue("un", s4);
slaveScreen(httpsession, httpservletrequest, httpservletresponse);
}
} else
{
initScreen(httpservletrequest, httpservletresponse);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -