Exception criando Imagem

3 respostas
A

Bom dia Galera !!! :smiley:

Putz … Estou com um problema que eu não tenho nem idéia do que pode ser !! Vou tentar explicar.

Em uma página JSP existe o seguinte fonte:

Abaixo a classe que gera a Imagem!

  1. Uma parte do fonte do Servlet.
response.setContentType("image/jpeg");         
        Imagem_Pizza pie = new Imagem_Pizza( valores, larg, alt, Color.WHITE, cores );
        OutputStream os = response.getOutputStream(); 
        ImageIO.write(pie.getBufferedImage(), "jpeg", os); 
        os.close();
  1. Uma parte do fonte da classe Imagem_Pizza
imageBuffer = new BufferedImage( width, height, BufferedImage.TYPE_INT_RGB );
        Graphics g = imageBuffer.createGraphics();
        g.setColor( background );
        g.fillRect( 0, 0, width, height );
        int arc = 0;
        int[] sizes = calculateAngles( values );
        for(int i=0, j=0; i<sizes.length; i++, j++) {
            if( j==135 ) j = 0;
            g.setColor( new Color(cores[j][0], cores[j][1] ,cores[j][2]) );
            g.fillArc( 0, 0, width, height, arc, sizes[i] );
            arc += sizes[i];
        }

:arrow: Agora deixa eu explicar.
Eu utilizo o NetBeans para desenvolver. E no netbeans esta funcionando tudo perfeitamente … Não dá uma excessão qualquer … redodninho.

:arrow: Mas quando eu coloco as classes no Servidor de Produção (Uma maquina Linux, com o TomCat 5 e o Jdk 4 ), não funciona. :cry:

Gera a seguinte excessão.

2004-08-30 11:17:55 StandardWrapperValve[CriarGraficoPizza]: Servlet.service() for servlet CriarGraficoPizza threw exception
java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:134)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:141)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
        at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1041)
        at logus.infra.misc.Imagem_Pizza.createChart(Imagem_Pizza.java:47)
        at logus.infra.misc.Imagem_Pizza.<init>(Imagem_Pizza.java:38)
        at mylogus.infra.CriarGraficoPizzaOperador.processRequest(CriarGraficoPizzaOperador.java:191)
        at mylogus.infra.CriarGraficoPizzaOperador.doGet(CriarGraficoPizzaOperador.java:206)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)

:smiley: Por favor, será que alguém tem idéia do por que que no NetBeans funciona e no Servidor não ???

Obrigado desde já …
Abraços. :smiley:

3 Respostas

A

oopppsss …
Em uma pagina jsp existe o seguinte fonte .

<img src="servlet/CriarGraficoPizza" />
om1

Dá uma olhada nesse tópico

[]s

A

om, valew …

Deu certinho …
No catalina.sh eu coloquei a linha

:arrow: JAVA_OPTS="-Djava.awt.headless=true $JAVA_OPTS"

Restartei o Serviço e funcionou !!!

Eu só não entendi o POR QUE !! Mas que funcionou , funcionou .

Obrigadoo mesmo… :smiley:

Criado 30 de agosto de 2004
Ultima resposta 30 de ago. de 2004
Respostas 3
Participantes 2