環境:
             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

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


          網站導航:
           
          主站蜘蛛池模板: 平武县| 华蓥市| 安国市| 江西省| 临颍县| 洮南市| 定西市| 建始县| 安国市| 河北省| 泰顺县| 三台县| 凤翔县| 潞西市| 昌宁县| 安阳市| 大兴区| 阿克陶县| 沙雅县| 宽甸| 正安县| 定远县| 乌兰浩特市| 宁蒗| 鄂托克旗| 永仁县| 诏安县| 门源| 绩溪县| 尖扎县| 黎川县| 长顺县| 抚顺市| 四会市| 称多县| 托克逊县| 金寨县| 晋宁县| 碌曲县| 乐都县| 崇文区|