<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 147  文章 - 71  trackbacks - 0
    <2009年3月>
    22232425262728
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(1)

    隨筆分類(146)

    隨筆檔案(147)

    文章分類(28)

    文章檔案(28)

    喜歡的Blog

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     

    tomcat5jsp出現getOutputStream() has already been called for this response異常的原因和解決方法在tomcat5jsp中出現此錯誤一般都是在jsp中使用了輸出流(如輸出圖片驗證碼,文件下載等),沒有妥善處理好的原因。具體的原因就是在tomcatjsp編譯成servlet之后在函數_jspService(HttpServletRequest request, HttpServletResponse response)的最后有一段這樣的代碼

    finally {

          if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);

    }

    這里是在釋放在jsp中使用的對象,會調用response.getWriter(),因為這個方法是和response.getOutputStream()相沖突的!所以會出現以上這個異常。然后當然是要提出解決的辦法,其實挺簡單的(并不是和某些朋友說的那樣--jsp內的所有空格和回車符號所有都刪除掉),在使用完輸出流以后調用以下兩行代碼即可:

    out.clear();

    out = pageContext.pushBody();

     

    附:產生驗證碼圖片的文件image.jsp

     1<%@ page contentType="image/jpeg"
     2    import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"
     3    pageEncoding="GBK"%>
     4<%!Color getRandColor(int fc, int bc) {//給定范圍獲得隨機顏色
     5        Random random = new Random();
     6        if (fc > 255)
     7            fc = 255;
     8        if (bc > 255)
     9            bc = 255;
    10        int r = fc + random.nextInt(bc - fc);
    11        int g = fc + random.nextInt(bc - fc);
    12        int b = fc + random.nextInt(bc - fc);
    13        return new Color(r, g, b);
    14    }
    %>
    15<%
    16    //設置頁面不緩存
    17    response.setHeader("Pragma""No-cache");
    18    response.setHeader("Cache-Control""no-cache");
    19    response.setDateHeader("Expires"0);
    20    // 在內存中創建圖象
    21    int width = 60, height = 20;
    22    BufferedImage image = new BufferedImage(width, height,
    23            BufferedImage.TYPE_INT_RGB);
    24    // 獲取圖形上下文
    25    Graphics g = image.getGraphics();
    26    //生成隨機類
    27    Random random = new Random();
    28    // 設定背景色
    29    g.setColor(getRandColor(200250));
    30    g.fillRect(00, width, height);
    31    //設定字體
    32    g.setFont(new Font("Times New Roman", Font.PLAIN, 18));
    33    //畫邊框
    34    //g.setColor(new Color());
    35    //g.drawRect(0,0,width-1,height-1);
    36    // 隨機產生155條干擾線,使圖象中的認證碼不易被其它程序探測到
    37    g.setColor(getRandColor(160200));
    38    for (int i = 0; i < 155; i++{
    39        int x = random.nextInt(width);
    40        int y = random.nextInt(height);
    41        int xl = random.nextInt(12);
    42        int yl = random.nextInt(12);
    43        g.drawLine(x, y, x + xl, y + yl);
    44    }

    45    // 取隨機產生的認證碼(4位數字)
    46    String sRand = "";
    47    for (int i = 0; i < 4; i++{
    48        String rand = String.valueOf(random.nextInt(10));
    49        sRand += rand;
    50        // 將認證碼顯示到圖象中
    51        g.setColor(new Color(20 + random.nextInt(110), 20 + random
    52        .nextInt(110), 20 + random.nextInt(110)));
    53        //調用函數出來的顏色相同,可能是因為種子太接近,所以只能直接生成
    54        g.drawString(rand, 13 * i + 616);
    55    }

    56    // 將認證碼存入SESSION
    57    session.setAttribute("rand", sRand);
    58    // 圖象生效
    59    g.dispose();
    60    // 輸出圖象到頁面
    61    ImageIO.write(image, "JPEG", response.getOutputStream());
    62    out.clear();
    63    out = pageContext.pushBody();
    64%>

    html中使用驗證碼圖片:

    1<img src="image.jsp" id="src" height="18" alt="看不清楚?請點擊刷新" onclick="this.src=this.src+'?'+Math.random();" />
    posted on 2009-03-11 21:07 飛翔天使 閱讀(305) 評論(0)  編輯  收藏 所屬分類: JSP
    主站蜘蛛池模板: 一级毛片免费观看不收费| 青草青草视频2免费观看| 99在线观看视频免费| 亚洲AV中文无码乱人伦下载 | 全免费一级毛片在线播放| 亚洲噜噜噜噜噜影院在线播放| 99久久国产免费中文无字幕| 78成人精品电影在线播放日韩精品电影一区亚洲 | 亚洲色欲久久久综合网| 中文字幕手机在线免费看电影| 国产亚洲视频在线播放| a在线视频免费观看| 无码久久精品国产亚洲Av影片| 99久久人妻精品免费二区| 亚洲性猛交xx乱| 夫妻免费无码V看片| 一道本在线免费视频| 亚洲精品亚洲人成人网| 三年片在线观看免费观看大全动漫| 亚洲人成影院在线| 青青草免费在线视频| 婷婷国产偷v国产偷v亚洲| 91麻豆国产自产在线观看亚洲| 免费在线看黄的网站| 亚洲不卡中文字幕| 免费国产成人高清在线观看麻豆| 中国好声音第二季免费播放| 亚洲一区二区在线视频| 女人18毛片特级一级免费视频| 日韩在线视频播放免费视频完整版| 亚洲VA中文字幕无码一二三区| 日韩亚洲国产高清免费视频| 美女扒开屁股让男人桶爽免费| 久久国产精品亚洲综合| 亚洲中文无码永久免费| 一级毛片在播放免费| 亚洲欧洲综合在线| 亚洲色偷拍区另类无码专区| 一级毛片免费观看不卡的| 美女黄频免费网站| 亚洲无圣光一区二区|