jsp下顯示中文文件名及絕對路徑下的圖片解決方法_JSP教程

      編輯Tag賺U幣

      推薦:jsp 連接sql server 2008 連接不上的解決方法
      需要用到jsp 通過jdbc來訪問sql serve2008 , 結果在遇到好多問題,感覺被坑了個大。。

      (1)jsp顯示中文文件名的圖片
      方法一、將Tomcat中的server.xml文件中改為:
      復制代碼 代碼如下:www.wf0088.com

      <Connector port="8080" maxHttpHeaderSize="8192"
      maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
      enableLookups="false" redirectPort="8443" acceptCount="100"
      connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" />

      jsp頁面:
      復制代碼 代碼如下:www.wf0088.com

      <%@ page import="java.net.URLEncoder" %>
      <img src="...../.../URLEncoder.encode("圖片名.jpg","GBK")"/>

      方法二、在tomcat的server.xml
      增加一個屬性:URIEncoding="UTF-8"
      修改之后為
      復制代碼 代碼如下:www.wf0088.com

      (2)顯示
      絕對路徑下的圖片
      思路:將本地硬盤下的文件讀取文件流,使用servlet讀取圖片顯示在jsp頁面上
      servlet代碼:
      復制代碼 代碼如下:www.wf0088.com

      public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      response.setContentType("text/html; charset=UTF-8");
      response.setContentType("image/jpeg"); //設置圖片格式格式,這里可以忽略
      FileInputStream fis = new FileInputStream("D:/ftp/xxx.jpg");
      OutputStream os = response.getOutputStream();
      try {
      int count = 0;
      byte[] buffer = new byte[1024*1024];
      while ( (count = fis.read(buffer)) != -1 )
      os.write(buffer, 0, count);
      } catch (IOException e){
      e.printStackTrace();
      }finally {
      if(os!=null)
      os.close();
      if(fis != null)
      fis.close();
      }
      }

      在頁面里直接引用<img src="servlet地址" />
      訪問jsp頁面就可以顯示圖片了。
      我覺得方法一是最簡單的了,呵呵!我已經試過方法一了,可以解決我的中文文件名不顯示的問題,在些非常感謝xiaoxiaoxuewen。

      分享:JSP是什么?JSP是什么意思?
      JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準,與asp、php、asp.net類似的后臺語言

      來源:模板無憂//所屬分類:JSP教程/更新時間:2013-05-21
      相關JSP教程