📄 cobrowse.java
字号:
public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
HttpSession httpsession = httpservletrequest.getSession(false);
if(cnf.get("initok") == null)
{
errorMessage1(httpservletrequest, httpservletresponse);
return;
}
if(!checkPersistence((String)cnf.get("dir")))
{
errorMessage(httpservletrequest, httpservletresponse);
return;
}
String s;
if(httpsession == null)
initScreen(httpservletrequest, httpservletresponse);
else
if((s = (String)httpsession.getValue("rl")) == null)
closeSession(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("m"))
masterScreen(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("s"))
slaveScreen(httpsession, httpservletrequest, httpservletresponse);
else
if(s.equals("n"))
startSession(httpsession, httpservletrequest, httpservletresponse);
else
closeSession(httpsession, httpservletrequest, httpservletresponse);
}
public void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
doGet(httpservletrequest, httpservletresponse);
}
private void emptyScreen(HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
httpservletresponse.setContentType("text/html");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html>");
printwriter.println("empty frame>");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
private void errorMessage(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = getFont(cnf, 0);
httpservletresponse.setContentType("text/html");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html>");
printwriter.println("<head><title>" + (String)cnf.get("title") + "</title></head>");
printwriter.println("<body bgcolor=\"" + (String)cnf.get("bgcolor") + "\">");
printwriter.println(s);
printwriter.println("<p><h1><center>Error: check out work directory settings</center></h1>");
printwriter.println("<p>make sure:");
printwriter.println("<br>1) you set for this servlet an initial parameter: <i>config</i>");
printwriter.println("<br>2) this parameter describes your configuation file");
printwriter.println("<br>3) configuration file defines a parameter <i>dir</i> as an exisiting directory on your server");
printwriter.println("<p><p>© <a href=\"mailto:info@servletsuite.com\">Coldjava</a> 2000-2001 ver. 1.35");
printwriter.println("</font></body>");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
private void errorMessage1(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = getFont(cnf, 0);
httpservletresponse.setContentType("text/html");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html>");
printwriter.println("<head><title>" + (String)cnf.get("title") + "</title></head>");
printwriter.println("<body bgcolor=\"" + (String)cnf.get("bgcolor") + "\">");
printwriter.println(s);
printwriter.println("<p><h1><center>Error: could not get an intial parameter</center></h1>");
printwriter.println("<p>make sure:");
printwriter.println("<br>1) you set for this servlet an initial parameter: <i>config</i>");
printwriter.println("<br>2) this parameter describes your configuation file");
printwriter.println("<br>3) configuration file defines a parameter <i>dir</i> as an exisiting directory on your server");
printwriter.println("<p><p>© <a href=\"mailto:info@servletsuite.com\">Coldjava</a> 2000-2001 ver. 1.35");
printwriter.println("</font></body>");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
private void errorMessage2(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = getFont(cnf, 0);
httpservletresponse.setContentType("text/html");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html>");
printwriter.println("<head><title>" + (String)cnf.get("title") + "</title></head>");
printwriter.println("<body bgcolor=\"" + (String)cnf.get("bgcolor") + "\">");
printwriter.println(s);
printwriter.println("<p><h1><center>Error: could not detect action. Probably, it is a GET request in the form</center></h1>");
printwriter.println("<p><p>© <a href=\"mailto:info@servletsuite.com\">Coldjava</a> 2000-2001 ver. 1.35");
printwriter.println("</font></body>");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
private void getChatHtml(HttpSession httpsession, HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = (String)httpsession.getValue("ssnm");
String s1 = getUrl(httpservletrequest);
if(s == null)
s = "closed session";
httpservletresponse.setContentType("text/html");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html>");
printwriter.println("<head><title>Chat:" + s + "</title></head>");
printwriter.println("<frameset rows=\"75%,25%,*,*\" border=0>");
printwriter.println("<frame name=\"mainchat\" src=\"" + httpservletresponse.encodeURL(s1 + "?" + "a" + "=" + "mncht") + "\">" + NEWLINE);
printwriter.println("<frame name=\"inputchat\" src=\"" + httpservletresponse.encodeURL(s1 + "?" + "a" + "=" + "nptcht") + "\">" + NEWLINE);
printwriter.println("<frame name=\"emptychat\" src=\"" + httpservletresponse.encodeURL(s1 + "?" + "a" + "=" + "mpt") + "\">" + NEWLINE);
printwriter.println("<frame name=\"refreshchat\" src=\"" + httpservletresponse.encodeURL(s1 + "?" + "a" + "=" + "rfrshcht") + "\">" + NEWLINE);
printwriter.println("</frameset>");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
private void getControlMasterHtml(HttpSession httpsession, HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = (String)httpsession.getValue("ssnm");
String s1 = httpservletrequest.getQueryString();
String s2 = getUrl(httpservletrequest);
Hashtable hashtable = (Hashtable)browsers.get(s);
long l = 0L;
long l1 = -1L;
long l3 = 0L;
String s3 = getFromQuery(s1, "crrnt=");
if(s3.length() > 0)
l = Long.parseLong(s3);
httpservletresponse.setContentType("text/html");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html>");
printwriter.println("<script language=\"JavaScript\">");
printwriter.println("setTimeout(\"fun()\",10000);");
printwriter.println("function fun()");
printwriter.println("{ s=\"\\n\";");
if(hashtable != null)
{
Hashtable hashtable1 = (Hashtable)hashtable.get("clnts");
if(hashtable1 != null)
{
for(Enumeration enumeration = hashtable1.elements(); enumeration.hasMoreElements();)
{
Hashtable hashtable2 = (Hashtable)enumeration.nextElement();
long l2 = ((Long)hashtable2.get("crtd")).longValue();
if(l2 > l)
{
printwriter.println("parent.mnmstr.document.forms[0].un.value=parent.mnmstr.document.forms[0].un.value+\"" + hashtable2.get("un") + " is online\"+s;");
if(l2 > l3)
l3 = l2;
}
}
if(l3 == 0L)
l3 = l;
printwriter.println("location.href=\"" + s2 + "?" + "a" + "=" + "cntrlmstr" + "&" + "crrnt" + "=" + l3 + "&" + "id" + "=" + getId() + "\";");
}
}
printwriter.println("}");
printwriter.println("</script>");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
private void getControlSlaveHtml(HttpSession httpsession, HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
String s = (String)httpsession.getValue("ssnm");
String s1 = httpservletrequest.getQueryString();
String s2 = getFromQuery(s1, "id=");
String s3 = getUrl(httpservletrequest);
String s4 = "";
httpservletresponse.setContentType("text/html");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html>");
printwriter.println("<script language=\"JavaScript\">");
Hashtable hashtable;
if(s != null && (hashtable = (Hashtable)browsers.get(s)) != null)
{
if((s4 = (String)hashtable.get("rlnm")) == null)
s4 = "";
if(!s4.equals(s2))
printwriter.println("parent.mnslv.location.href=\"" + httpservletresponse.encodeURL(s3 + "?" + "a" + "=" + "pnst" + "&" + "id" + "=" + s4) + "\";");
}
if(s4.length() > 0)
s4 = "&id=" + s4;
printwriter.println("function fff()");
printwriter.println("{ location.href=\"" + httpservletresponse.encodeURL(s3 + "?" + "a" + "=" + "cntrlslv" + s4) + "\";}");
printwriter.println("setTimeout(\"fff()\",10000);");
printwriter.println("</script>");
printwriter.println("control slave frame");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
private String getFont(Hashtable hashtable, int i)
{
StringBuffer stringbuffer = new StringBuffer("<font color=\"");
if(i == 0)
stringbuffer.append(hashtable.get("fgcolor"));
else
if(i == 1)
stringbuffer.append(hashtable.get("fgcolor1"));
else
if(i == 2)
stringbuffer.append(hashtable.get("fgcolor2"));
else
stringbuffer.append(hashtable.get("fgcolor"));
stringbuffer.append("\"");
String s;
if((s = (String)hashtable.get("face")) != null)
{
stringbuffer.append(" face=\"");
stringbuffer.append(s);
stringbuffer.append("\"");
}
if((s = (String)hashtable.get("size")) != null)
{
stringbuffer.append(" size=\"");
stringbuffer.append(s);
stringbuffer.append("\"");
}
stringbuffer.append(">");
return stringbuffer.toString();
}
private String getFromQuery(String s, String s1)
{
if(s == null)
return "";
int i;
if((i = s.indexOf(s1)) < 0)
return "";
String s2 = s.substring(i + s1.length());
if((i = s2.indexOf("&")) < 0)
return s2;
else
return s2.substring(0, i);
}
private String getId()
{
String s = "";
synchronized(SessionIdLock)
{
long l = System.currentTimeMillis();
s = String.valueOf(l);
for(int i = 1; i <= 6; i++)
s = s + (int)(1.0D + 6D * rnd.nextDouble());
}
return s;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -