環境:
             1、websphere6,使用插件模式,通過websphere的httpserver的80端口訪問其j2eeserver。
             2、jfeechart,常規使用。

          問題
             jfeechart圖片生成沒有問題,就是圖片顯示不了,表現為左上角有一個叉。

          解決方法:
                 不要使用插件模式,通過websphere的httpserver訪問其j2eeserver,將j2eeserver的端口直接設為80,圖片就顯示正常。

          思考:
          jfreechart的圖片顯示方法是:


          <%
          String pieGraphURL = request.getContextPath() + "/DisplayChart?filename=" + piefilename;
          %>



          再看一下DisplayChart調用的核心源碼:


          public static void sendTempFile(File file, HttpServletResponse response,
                                              String mimeType) throws IOException {

                  if (file.exists()) {
                      BufferedInputStream bis = new BufferedInputStream(
                          new FileInputStream(file)
                      );

                      //  Set HTTP headers
                      if (mimeType != null) {
                          response.setHeader("Content-Type", mimeType);
                      }
                      response.setHeader("Content-Length", String.valueOf(file.length()));
                      SimpleDateFormat sdf = new SimpleDateFormat(
                          "EEE, dd MMM yyyy HH:mm:ss z"
                      );
                      sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
                      response.setHeader(
                          "Last-Modified", sdf.format(new Date(file.lastModified()))
                      );

                      BufferedOutputStream bos = new BufferedOutputStream(
                          response.getOutputStream()
                      );
                      byte[] input = new byte[1024];
                      boolean eof = false;
                      while (!eof) {
                          int length = bis.read(input);
                          if (length == -1) {
                              eof = true;
                          }
                          else {
                              bos.write(input, 0, length);
                          }
                      }
                      bos.flush();
                      bis.close();
                      bos.close();
                  }
                  else {
                      throw new FileNotFoundException(file.getAbsolutePath());
                  }
                  return;
              }



          可見在web頁面上顯示時分兩步:
          1、初始化img容器;
          2、調用DisplayChart這個servlet將圖片數據寫進來。
          可是在走httpserver時第二步不會起作用的。

          posted on 2006-03-08 21:14 野草 閱讀(908) 評論(0)  編輯  收藏 所屬分類: deploy

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 当涂县| 金乡县| 甘孜| 封开县| 东莞市| 临沭县| 丰都县| 博白县| 绥德县| 定陶县| 伊宁县| 蒙城县| 监利县| 舞钢市| 宜良县| 邵东县| 扶沟县| 新化县| 景德镇市| 罗源县| 林甸县| 中西区| 富蕴县| 金阳县| 莱阳市| 鄂尔多斯市| 甘孜县| 启东市| 华亭县| 涪陵区| 伊春市| 兴文县| 方山县| 会同县| 碌曲县| 当涂县| 太康县| 淮阳县| 三台县| 普定县| 昌吉市|