中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Servlet顯示圖片

發布時間:2021-12-27 17:56:12 來源:億速云 閱讀:528 作者:iii 欄目:編程語言

本篇內容主要講解“怎么用Servlet顯示圖片”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用Servlet顯示圖片”吧!

在Servlet編程中用servlet做一個跟蹤圖片點擊技術,這個模塊挺大,這里說說用Servlet顯示圖片部分。先說說用Servlet顯示圖片的一個流程:

1. Servlet編程中設置response的輸出類型: 

對應的語句--response.setContentType("image/gif;charset=GB2312") ,

response 便能輸出gif圖片,"image/gif;charset=GB2312"便是輸出類型,當然你可以輸出 "image/jpg;charset=GB2312"類型文件。

2. 實現Servlet顯示圖片之得到文件流:

servlet是以流的形式件圖片文件從服務器讀出,通過response將流發到瀏覽器的。

3. 實現Servlet顯示圖片之得到輸出流:

對應的語句--OutputStream output = response.getOutputStream(); 當然,處理圖片文件需要以二進制形式的流。

4. 實現Servlet顯示圖片之文件流的編碼(但也不一定必須編碼的,如果不是文件流,則必須編碼) 所以我給大家一個用編碼的代碼和不用編碼的代碼.

順便說一句,sun公司僅提供了jpg圖片文件的編碼api。

我想基本流程都講完了,下面我把代碼拿給大家看一下,大家自然一目了然了:

package xjw.personal.servet;  import java.io.*;  import javax.servlet.*;  import javax.servlet.http.*;  import com.sun.image.codec.jpeg.*;

Sun公司僅提供了jpg圖片文件的編碼api

import javax.imageio.stream.*;  import java.awt.*;  import java.awt.image.BufferedImage;  public class ShowPicture  extends HttpServlet{       private static final String GIF="image/gif;charset=GB2312";

實現Servlet顯示圖片之設定輸出的類型   

private static final String JPG="image/jpeg;charset=GB2312";       public void init()    throws ServletException     {     }       public void doGet(HttpServletRequest request, HttpServletResponse response)                    throws IOException, ServletException       {        doPost(request, response);     }      public void doPost(HttpServletRequest request, HttpServletResponse response)                   throws IOException, ServletException     {                  String spec=request.getParameter("spec");  //輸出圖片的類型的標志   int int_spec=Integer.parseInt(spec);          if(spec==1)            {              String imagePath="/jfgg/b1.jpg";  //圖片相對web應用的位置        }          else        {                String imagePath="/jfgg/b2.gif";

圖片相對web應用的位置     

  }                     OutputStream output = response.getOutputStream();//得到輸出流         if(imagePath.toLowerCase().endsWith(".jpg"))//使用編碼處理文件流的情況:         {     response.setContentType(JPG);//設定輸出的類型            //得到圖片的真實路徑                  imagePath = getServletContext().getRealPath(imagePath);

得到圖片的文件流   

InputStream imageIn = new FileInputStream(new File(imagePath));           //得到輸入的編碼器,將文件流進行jpg格式編碼       JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);         //得到編碼后的圖片對象           BufferedImage image = decoder.decodeAsBufferedImage();   //得到輸出的編碼器    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);             encoder.encode(image);//對圖片進行輸出編碼            imageIn.close();//關閉文件流       }          if(imagePath.toLowerCase().endsWith(".gif"))//不使用編碼處理文件流的情況:         {    response.setContentType(GIF);    ServletContext context = getServletContext();//得到背景對象       InputStream imageIn=context.getResourceAsStream(imagePath);//文件流           BufferedInputStream bis=new BufferedInputStream(imageIn);//輸入緩沖流       BufferedOutputStream bos=new BufferedOutputStream(output);//輸出緩沖流      byte data[]=new byte[4096];//緩沖字節數       int size=0;     size=bis.read(data);      while (size!=-1)    {         bos.write(data,0,size);              size=bis.read(data);    }      bis.close();    bos.flush();//清空輸出緩沖流           bos.close();    }        output.close();    }  }

***是如何調用,你可以簡單的映射一下servelt,我就將servet的名映射為ShowPic,  于是下代碼調用

﹤html﹥    ﹤body﹥    ﹤img src="ShowPic?spec=2"﹥﹤/a﹥  ﹤/body﹥  ﹤/html﹥

到此,相信大家對“怎么用Servlet顯示圖片”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万州区| 久治县| 基隆市| 邢台县| 综艺| 惠安县| 南汇区| 湾仔区| 辰溪县| 柏乡县| 仙桃市| 大理市| 襄汾县| 乐清市| 盐源县| 平凉市| 沙河市| 灵石县| 凤阳县| 阳朔县| 新化县| 栖霞市| 新宁县| 江山市| 海安县| 吐鲁番市| 扎兰屯市| 包头市| 中西区| 阳东县| 沁源县| 南阳市| 罗城| 凤冈县| 深州市| 施甸县| 连城县| 手游| 安达市| 延边| 阜城县|