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

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

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

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

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    tomcat5下jsp出現(xiàn)getOutputStream() has already been called for this response異常的原因和解決方法

    在tomcat5下jsp中出現(xiàn)此錯誤一般都是在jsp中使用了輸出流(如輸出圖片驗(yàn)證碼,文件下載等),
    沒有妥善處理好的原因。
    具體的原因就是
    在tomcat中jsp編譯成servlet之后在函數(shù)_jspService(HttpServletRequest request, HttpServletResponse response)的最后
    有一段這樣的代碼
    finally {
          if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
        }
    這里是在釋放在jsp中使用的對象,會調(diào)用response.getWriter(),因?yàn)檫@個方法是和
    response.getOutputStream()相沖突的!所以會出現(xiàn)以上這個異常。

    然后當(dāng)然是要提出解決的辦法,其實(shí)挺簡單的(并不是和某些朋友說的那樣--
    將jsp內(nèi)的所有空格和回車符號所有都刪除掉),

    在使用完輸出流以后調(diào)用以下兩行代碼即可:
    out.clear();
    out = pageContext.pushBody();

    最后這里是一個輸出彩色驗(yàn)證碼例子(這樣的例子幾乎隨處可見)
    imag.jsp

    <%@ page  import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
    <%@ page import="java.io.OutputStream" %>
    <%!
    Color getRandColor(int fc,int bc){
    Random random = new Random();
    if(fc>255) fc=255;
    if(bc>255) bc=255;
    int r=fc+random.nextInt(bc-fc);
    int g=fc+random.nextInt(bc-fc);
    int b=fc+random.nextInt(bc-fc);
    return new Color(r,g,b);
    }
    %>
    <%
    try{
    response.setHeader("Pragma","No-cache");
    response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires", 0);
    int width=60, height=20;
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    OutputStream os=response.getOutputStream();
    Graphics g = image.getGraphics();
    Random random = new Random();
    g.setColor(getRandColor(200,250));
    g.fillRect(0, 0, width, height);

    g.setFont(new Font("Times New Roman",Font.PLAIN,18));
    g.setColor(getRandColor(160,200));
    for (int i=0;i<155;i++)
    {
    int x = random.nextInt(width);
    int y = random.nextInt(height);
    int xl = random.nextInt(12);
    int yl = random.nextInt(12);
    g.drawLine(x,y,x+xl,y+yl);
    }
    String sRand="";
    for (int i=0;i<4;i++){
    String rand=String.valueOf(random.nextInt(10));
    sRand+=rand;
    g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
    g.drawString(rand,13*i+6,16);
    }
    session.setAttribute("rand",sRand);
    g.dispose();

    ImageIO.write(image, "JPEG",os);
    os.flush();
    os.close();
    os=null;
    response.flushBuffer();
    out.clear();
    out = pageContext.pushBody();
    }
    catch(IllegalStateException e)
    {
    System.out.println(e.getMessage());
    e.printStackTrace();
    }%>

    posted on 2009-03-26 09:15 lanxin1020 閱讀(157) 評論(0)  編輯  收藏 所屬分類: j2se
    主站蜘蛛池模板: 亚洲无人区视频大全| 日韩va亚洲va欧洲va国产| 激情内射亚洲一区二区三区爱妻 | 国产一精品一aⅴ一免费| 亚洲色中文字幕在线播放| 好爽…又高潮了免费毛片| 亚洲综合激情五月丁香六月| 成年女人毛片免费视频| 亚洲乱人伦中文字幕无码| 毛片免费观看网址| 亚洲av日韩av永久无码电影 | 最近中文字幕mv免费高清电影| 亚洲天堂2017无码中文| 成人爽A毛片免费看| 蜜芽亚洲av无码一区二区三区| 日本特黄特黄刺激大片免费| 免费国产黄网站在线观看动图 | 亚洲无删减国产精品一区| 最近中文字幕mv免费高清视频8| 亚洲国产精品成人精品小说| 最新中文字幕免费视频| 国产亚洲精品91| 亚洲精品高清国产一线久久| 免费视频爱爱太爽了| 亚洲精品无码成人片久久不卡| 日本特黄特色免费大片| 中文字幕久无码免费久久| 亚洲麻豆精品果冻传媒| 男女交性永久免费视频播放| A毛片毛片看免费| 亚洲美女免费视频| 免费真实播放国产乱子伦| 免费无码又爽又刺激网站直播 | 亚洲人xxx日本人18| www国产亚洲精品久久久| 男人进去女人爽免费视频国产| 亚洲an日韩专区在线| 亚洲国产人成中文幕一级二级| 久久这里只精品国产免费10| 在线亚洲午夜片AV大片| 亚洲精品国产成人片|