成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Servlet編程之用Servlet顯示圖片

開發(fā) 后端
Servlet編程中用Servlet顯示圖片是經(jīng)常用到的一項技術(shù),SUN公司為我們提供了實現(xiàn)的方法,那么具體在Servlet編程中如何用Servlet顯示圖片呢,本文將向你介紹。

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

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

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

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

2. 實現(xiàn)Servlet顯示圖片之得到文件流:

servlet是以流的形式件圖片文件從服務器讀出,通過response將流發(fā)到瀏覽器的。
 
3. 實現(xiàn)Servlet顯示圖片之得到輸出流:

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

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

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

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

  1. package xjw.personal.servet;  
  2. import java.io.*;  
  3. import javax.servlet.*;  
  4. import javax.servlet.http.*;  
  5. import com.sun.image.codec.jpeg.*; 

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

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

實現(xiàn)Servlet顯示圖片之設定輸出的類型    

  1. private static final String JPG="image/jpeg;charset=GB2312";     
  2.   public void init()   
  3.  throws ServletException     {     }     
  4.   public void doGet(HttpServletRequest request, HttpServletResponse response)                    
  5. throws IOException, ServletException     
  6.   {        doPost(request, response);     }     
  7.  public void doPost(HttpServletRequest request, HttpServletResponse response)                  
  8.  throws IOException, ServletException   
  9.   {                  
  10. String spec=request.getParameter("spec");  
  11. //輸出圖片的類型的標志      
  12.  int int_spec=Integer.parseInt(spec);       
  13.    if(spec==1)            {        
  14.       String imagePath="/jfgg/b1.jpg";  
  15. //圖片相對web應用的位置        }         
  16.  else        {              
  17.   String imagePath="/jfgg/b2.gif"

圖片相對web應用的位置      

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

得到圖片的文件流    

  1. InputStream imageIn = new FileInputStream(new File(imagePath));         
  2.   //得到輸入的編碼器,將文件流進行jpg格式編碼     
  3.   JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);         //得到編碼后的圖片對象           
  4. BufferedImage image = decoder.decodeAsBufferedImage();   //得到輸出的編碼器   
  5.  
  6. JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);        
  7.  
  8.     encoder.encode(image);//對圖片進行輸出編碼       
  9.      imageIn.close();//關(guān)閉文件流       }      
  10.  
  11.    if(imagePath.toLowerCase().endsWith(".gif"))//不使用編碼處理文件流的情況:    
  12.  
  13.     {    response.setContentType(GIF);    ServletContext context = getServletContext();//得到背景對象   
  14.  
  15.    InputStream imageIn=context.getResourceAsStream(imagePath);//文件流          
  16.  
  17. BufferedInputStream bis=new BufferedInputStream(imageIn);//輸入緩沖流      
  18.  
  19. BufferedOutputStream bos=new BufferedOutputStream(output);//輸出緩沖流     
  20.  
  21. byte data[]=new byte[4096];//緩沖字節(jié)數(shù)    
  22.  
  23.   int size=0;     size=bis.read(data);     
  24.  while (size!=-1)    {        
  25.  bos.write(data,0,size);            
  26.   size=bis.read(data);    }     
  27.  bis.close();    bos.flush();//清空輸出緩沖流     
  28.       bos.close();    }      
  29.   output.close();    }  
  30. }   

  

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

  1. ﹤html﹥     
  2.  ﹤body﹥     
  3.  ﹤img src="ShowPic?spec=2"﹥﹤/a﹥      
  4. ﹤/body﹥      
  5. ﹤/html﹥   

     

Servlet編程之用Servlet顯示圖片的介紹就是這樣子了,通過上述操作圖片便顯示在htm上了,效果如何呢? 

【編輯推薦】

  1. 什么是Servlet以及常用Servlet API有哪些
  2. JSP Servlet實例之自動跳轉(zhuǎn)到出錯頁
  3. JSP Servlet開發(fā)最初那點事
  4. Java Servlet API文檔實用說明
  5. Java Servlets(JSP)開發(fā)環(huán)境
責任編輯:仲衡 來源: 天空技術(shù)網(wǎng)
相關(guān)推薦

2011-11-10 10:23:56

Jscex

2022-03-31 15:17:04

JavaSocketServlet容器

2009-07-06 13:29:09

Servlet教程

2009-07-07 17:32:31

HTTP Servle

2021-07-15 12:44:25

Shell編程進程

2013-09-02 09:18:59

2009-07-08 09:35:53

Java ServleServlet 3.0

2009-07-06 18:24:56

Servlet實例

2009-07-09 11:27:59

Servlet容器

2009-07-09 15:05:45

Servlet實例

2009-07-03 10:31:57

什么是ServletServlet API

2009-07-07 10:08:49

Future Resp

2009-07-08 15:01:00

Servlet Ses

2009-07-08 13:19:25

Future Resp

2009-07-08 17:04:25

user cache

2009-07-09 13:39:52

Servlet Con

2009-07-06 09:03:10

Servlet定義

2009-07-07 10:47:58

Servlet開發(fā)環(huán)境

2009-07-09 11:21:40

Servlet注冊

2009-07-07 10:16:42

Servlet引擎
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 中文字幕一区二区三区精彩视频 | 日韩乱码av | 国产精品性做久久久久久 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 91欧美激情一区二区三区成人 | 欧美一区二区在线观看 | 久久在线视频 | 91一区| 国产免费拔擦拔擦8x高清 | 欧美一级三级在线观看 | 国产一级片免费看 | 国产日韩久久 | 国产精品久久久久一区二区三区 | 中文字幕在线观看一区 | 国产一区二区三区在线免费 | 国产欧美一级二级三级在线视频 | 黄色毛片大全 | 国产精品成人一区二区三区 | 天天曰天天曰 | 国产精品日韩欧美一区二区三区 | 欧美日韩高清在线一区 | 999久久久精品 | 欧美日韩福利 | 亚洲精品视频网站在线观看 | 九九热在线免费观看 | 国产精品特级片 | 国内精品久久久久久久影视简单 | 国产精品久久久久久久久久免费看 | 欧美高清视频一区 | 香蕉视频黄色 | 欧美久久一区二区 | 伊人网91| 精品欧美乱码久久久久久 | 韩日在线 | 成人免费一级 | h片在线看 | 亚洲大片| 一区二区三区国产 | 爱爱综合网 | 亚洲精品久久久一区二区三区 | 亚洲国产aⅴ精品一区二区 免费观看av |