最近要把应用迁移到小型机上,发现有两个问题存在:
1:应用中的动态生成的图片无法在客户端显示,显示的是一个大红叉;后台报错如下
< [ServletContext(id=606049161,name=grv40,context-path=/grv40)] Servlet failed with Exception
java.awt.HeadlessException
at java.applet.Applet.(Applet.java:74)
at hualong.grv40.common.chart.ChartApplet.(ChartApplet.java:89)
at hualong.grv40.common.chart.ChartServlet.doGet(ChartServlet.java :42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl
$ServletInvocationAction.run (ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext
$ServletInvocationAction.run(WebAppServletContext.java:6452)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java(Compiled Code))
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
at weblogic.servlet.internal.ServletRequestImpl.execute (ServletRequestImpl.java:2630)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
2:动态图片中的中文是乱码,显示一个口的形状.
这问题困扰很久了,一直没抽时间来解决,今天得解决了.
询问bea和朋友后,他们说在weblogic中的启动命令中增加如下的参数 -D java.awt.headless=true,我们增加后,还是出不来,这就有点郁闷的说.
先解决图片的问题,打电话个weblogic,基本没有啥用,他们也没有好的方法,说是jdk的问题,让我们自己google看看,只能找开发写了个测试的东西,动态生成同样的png图片,直接用java -jar charttest.jar,在服务器上生成了一个图片,把这个 图片ftp下来,ok,显示正常.这个时候这问题就定位到了weblogic了,再问weblogic,他们说可以加上这个参数试试,我们用java -D java.awt.headless=true -jar charttest.jar,惨,界面上图片出不来,直接报错,错误信息和上面一样,呵呵,这就说明这个参数可能不能放那里.去掉这个参数,图片出来了.不过因为我的启动脚本在hacmp中,所以,必须要设置display参数,我们用了个简单的方法,在/etc/profile中增加了export DISPLAY=127.0.0.1:0.0,否则必须在X界面下才可以出来图片,增加这个后,就不用在X界面上了.
接下来该解决图片中的中文的问题了.weblogic的兄弟扯来扯去,这问题还是没有好的方法,找了个兄弟,他就问我中文库有没有加,lang有没有设置.
我加装了18030中文库,然后在启动的时候,先作了一个export LANG=Zh_CN,启动,图片中的中文问题搞定,然后我把这参数设置到startWebLogic.sh中,然后在hacmp中来启动weblogic,图片,中文,都出来了,开心呀,开心呀.
记录之,困扰很久的问题搞定了,不过老板说,这问题都是因为我机器没装好导致的,我晕呀,我冤,java我也不懂的,weblogic我也不懂的,唉,我只是一个dba.郁闷.
再次感谢robincaijg给予我们的支持.
3 Comments to “weblogic中图片以及图片中的中文无法显示的解决方法”
Write a comment
You need tologin.

robincaijg是谁吖
就是fy的朋友,一作weblogic特牛的老大
俺们那里好象也碰到过,当时也是装了中文包就好了