⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cobrowse.java

📁 一个同步浏览的源码,还需要一些配置,需要的可以大家交流哟.
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    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>&copy;&nbsp;<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>&copy;&nbsp;<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>&copy;&nbsp;<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 + -