是不是在用dispatcher重定向时用了out方法?
或者,在buffer内没有东西就输出了?

解决方案 »

  1.   

    不能重新设置buffer的大小,没有字节被写入。是不是你buffer定义的大小和实际赋值的大小不一致?
      

  2.   

    用servlet实现的一个关于单位目录的树型菜单。在同时有多个用户使用的时候。就
    会出现这个信息。servlet如下:
    package cn.com.pingtech.servlet;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.*;
    import cn.com.pingtech.equip.*;
    import cn.com.pingtech.database.*;public class equipDeptTree extends HttpServlet {    private PrintWriter out = null;
        private String treeType = null;    private void doRequest(HttpServletRequest request) {
        }    public void doPost(HttpServletRequest request,HttpServletResponse response) {
            Connection con = null;
            try{
                con = GetDbConnect();
                treePrint(con, 0, "top");
            }
            catch(Exception e) {
                System.out.println("equipDeptTree.java doPost() Error1 is :: "+e);
            }
            finally {
                try {
                    con.close();
                }
                catch(SQLException e) {
                    System.out.println("equipDeptTree.java doPost() Error2 is :: "+e);
                }
            }
        }    public void doGet(HttpServletRequest request,HttpServletResponse response) {
            try {       
                out = response.getWriter();
                request.setCharacterEncoding("gb2312");
                treeType = (String)request.getAttribute("treeType");
                doPost(request,response);
            }
            catch(IOException e)
            {
                System.out.println(" equipDeptTree.java doGet() Error is :: "+e);
            }
        }    private Connection GetDbConnect() {
            
            String strDRV = "oracle.jdbc.driver.OracleDriver";
            String strURL = "jdbc:oracle:thin:ping:[email protected]:1521:ORCL";
            
            
            Connection con = null;//DbConnectionManager.getConnection();        
            
            try {
                Class.forName(strDRV);
                con = DriverManager.getConnection(strURL,"ping","ping");
             }catch(Exception e) {
                System.out.println(" equipDeptTree.java GetDbConnect() Error is :: "+e);
                out.println(" * 连接服务器失败 !");
                 return null;
            }
            
            return con;
        }    private void treePrint(Connection con, int intUpperDeptId, String strLayer) {
            Statement stmt = null;          // 连接陈述
            ResultSet rs = null;            // 查询结果集
            String strSql = null;           // 查询语句        int intDeptId = 0;              // 单位ID (数据库字段)
            String strDeptName = null;      // 单位名称 (数据库字段)
            int intHasSubDept = 0;          // 是否有下一级 (数据库字段)        try {
                stmt = con.createStatement();
                if( intUpperDeptId == 0) {
                    //System.out.println("strUpperDeptId :: " + intUpperDeptId);
                    strSql = "select * from EquipDept where UpperDeptId=-1";
                }
                else {
                    //System.out.println("strUpperDeptId :: " + intUpperDeptId);
                    strSql = new String("select * from EquipDept where UpperDeptId = " + intUpperDeptId );
                }
                //System.out.println("sql string is ::::::: "+strSql);
                rs = stmt.executeQuery(strSql);
                
                out.println(" ");
                out.println("<table border=0 cellspacing=0 cellpadding=2 >");            while(rs != null && rs.next()) {
                    intDeptId = rs.getInt("DeptId");
                    intUpperDeptId = rs.getInt("UpperDeptId");
                    strDeptName = rs.getString("DeptName");
                    intHasSubDept = rs.getInt("HasSubDept");                //System.out.print(strDeptName);
                    if(intHasSubDept == 0){                                 // 如果没有下一级单位
                        out.println("   <tr>");
                        out.println("       <td><img src=\"../images/dot.gif\" width=\"12\" height=\"12\"></td>");
                        out.println("       <td align=left>");
                        out.println("       <div onClick=\"maingo('"+intDeptId+"',\'equipDept\','"+treeType+"','"+strDeptName+"')\" style=\"cursor:'hand'\"><img src=\"../images/close.gif\">");
                        out.println("       "+strDeptName +"</div></td>");
                        out.println("   </tr> ");
                        out.println(" ");
                        //System.out.println();
                    }else {                                                 // 如果有下一级单位                    out.println("   <tr>");
                        out.println("       <td>");
                        out.println("       <img  name=\""+strLayer+"img\" ID=\""+intDeptId+"\" style=\"cursor:'hand';\" onmouseup=\"clickEvent();\" src=\"../images/dot1.gif\" width=\"12\" height=\"12\" ></td>");
                        out.println("       <td align=left>");
                        out.println("       <div onClick=\"maingo('"+intDeptId+"',\'equipDept\','"+treeType+"','"+strDeptName+"')\" style=\"cursor:'hand'\"><img  name=\""+strLayer+"imgII\"  ID=\""+intDeptId+"II\" src=\"../images/close.gif\" >");
                        out.println("       "+ strDeptName +"</div></td>");
                        out.println("   </tr>");                    out.println("   <tr name=\""+strLayer+"\" ID=\""+intDeptId+"p\" STYLE=\"Display:'none'\">");
                        out.println("       <td ></td>");
                        out.println("       <td >");                    treePrint(con, intDeptId, "notop");
                        
                        out.println("       </td>");
                        out.println("   </tr>");
                        out.println(" ");                } // else
                } // while            out.println("</table>");
            }catch(Exception e){
                    System.out.println(" equipDeptTree.java treePrint() Error is :: "+e);
            }    }
    }