由于 HTTP 的传输机制决定了前台不可能做出真实的百分比进度条. 只能模拟

解决方案 »

  1.   

    web进度条 
    ----------------------------------  
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE></TITLE>
    <SCRIPT LANGUAGE=javascript>
    <!--
    var myTime=0
    function counter(){
    myTime++
    per.innerHTML="<font size=2 color=darkblue>&nbsp;&nbsp;"+myTime+"%</font>"
    if (myTime<100)
     setTimeout("counter()",40); 
    else{
     window.open("http://www.sina.com.cn",null,"fullscreen=yes,channelmode=no,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no")
    }
    }
    function window_onload() {
    counter()
    }//-->
    </SCRIPT>
    </HEAD>
    <BODY LANGUAGE=javascript onload="return window_onload()">
    <P>&nbsp;</P>
    <P>&nbsp;</P>
    <P>&nbsp;</P>
    <P>&nbsp;</P>
    <P>&nbsp;</P>
    <P>&nbsp;</P><table border="0" cellpadding="0" cellspacing="0" width="50%" align=center>
     <tr>
      <td width="51%" noWrap>
       <p align="right"><FONT face=宋体 color=navy 
       size=2>正在加载:</FONT></p>  </td>
      <td width="4%" bordercolor="#000000">
       <marquee align="middle" direction="right" scrolldelay="1" bgcolor="gainsboro" scrollamount="2" style="BORDER-RIGHT: black 1px outset; BORDER-TOP: black 1px outset; FONT-SIZE: xx-small; BORDER-LEFT: black 1px outset; WIDTH: 133px; COLOR: #000080; BORDER-BOTTOM: black 1px outset; HEIGHT: 13px" 
       behavior="slide" 
       >███████████████████████████████████████████████████████████████████████████████</marquee>
      </td><td width="45%" align=left><div id=per></div></td>
     </tr>
    </table>
    </BODY>
    </HTML>
      

  2.   

    从服务端的循环往客户端动态写即可
    <%
    out.println("<table width=100% height=30><tr><td style='width:0%;background:yellow' id=myprogress></td><td></td><tr></table>");for(int i=1;i<=100;i++)
    {
    out.println("<script>document.all.myprogress.style.width='"+i+"%';</"+"script>");  for(int p=0;p<100000000;p++){}
      out.flush();}
    %>