2011-07-04 11 views
1

나는 (JTable을 사용하여 생성 된) 테이블을 표시해야하는 시나리오를 png 이미지로 변환 한 다음 서블릿을 사용하여 표시하는 시나리오가 있습니다. 그것은이 같은서블릿을 사용하여 이미지 표시

나는 웹 페이지 이미지에서 볼하려고 할 때이 오류를 던지는 것 같다
{ 
     table = u.generateTableChart("datamonth");  
     saveToServlet(table, table.getTableHeader(), p_resp); 
} 

void saveToServlet(JTable table, JTableHeader header, 
      HttpServletResponse p_resp) 
    { 

     int w = Math.max(table.getWidth(), header.getWidth()); 
     int h = table.getHeight() + header.getHeight(); 
     OutputStream out = null; 
     BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); 
     Graphics2D g2 = bi.createGraphics(); 
     header.paint(g2); 
     g2.translate(0, header.getHeight()); 
     table.paint(g2); 
     g2.dispose(); 
     try { 
      p_resp.setContentType("image/png"); 
      out = p_resp.getOutputStream(); 
      ImageIO.write(bi, "png", out); 

     } catch (IOException ioe) { 
      System.out.println("write: " + ioe.getMessage()); 
     } 
    } 

를 표시 할 수 없습니다 : 다음

테이블을 표시하는 서블릿의 코드입니다 너무 많은 오류.

임시 위치에 파일을 저장할 수 있으며 그래프를 볼 수 있습니다.

ServletOutputStream out = null; 

    try { 
     out = p_resp.getOutputStream(); 
     p_resp.setContentType("image/png"); 
     chart=u.genarateLineChart(m_martiniInstance); 
     ChartUtilities.writeChartAsJPEG(out, chart, 625, 500); 
    } 

하고 아직도 운이 사전에

감사합니다, 바뱌

+0

플랫폼 (Windows, Linux)이 서버입니까? – SJuan76

+0

@SJuan tomcat 서버가 RHEL에 있습니다. – bhavs

+0

@Bhavya : 이미지가 RGB 형식입니까? 이 오류는 일반적으로 생성하는 이미지가 화면 소비를위한 것이 아닌 경우에 발생합니다. –

답변

3

나는 문제는 당신이 "image/png"으로 콘텐츠 형식을 설정하는 생각을 : 차트

내가이 사용하고 JFreeCharts을 사용하여 생성 하지만 jpeg 작성 writeChartAsJPEG 사용

ChartUtilities.writeChartAsPNG(...) 
+0

@Prashanth 코드를 변경하고이를 확인했습니다. 이것은 – bhavs

+1

보통 응답이 브라우저에서 캐싱되어 ctrl + F5를 완전히 다시로드하거나 브라우저 캐시를 삭제하고 이미지를 다시로드하려고 시도하는 것을 돕지 않는 것 같습니다 –

+0

제공되는 코드를 사용하여 선 차트를 볼 수 있지만 Jtable, 그 어떤 대답이라도? – bhavs

관련 문제