JSP中如何發(fā)送一個動態(tài)圖像_JSP教程
推薦:Tomcat中的主目錄與虛擬目錄的配置方法Tomcat 主目錄與虛擬目錄的配置 以下小結(jié)使用tomcat5.0.28測試通過,tomcat安裝路徑為C:Tomcat 在默認(rèn)安裝后,tomcat的主目錄是webapps/root目錄,如果我們想改變tomcat的主目錄的話
你是否曾經(jīng)想過從jsp頁面(或者servlet)中發(fā)送動態(tài)產(chǎn)生的圖像?這篇技巧告訴你如何做。要運(yùn)行這里的代碼,你需要一個Tomcat或者其他支持JSP 1.1的web服務(wù)器。
當(dāng)一個web頁面帶有image/jpeg (或者其他的圖像格式)的MIME類型被發(fā)送時,你的瀏覽器將那個返回結(jié)果當(dāng)作一個圖像,然后瀏覽器顯示圖像,作為頁面的一部分或者完全作為圖像自身。要為你的jsp頁面設(shè)置MIME類型,你需要設(shè)置頁面的contentType屬性:
<%@ page contentType="image/jpeg" ... %>
然后你需要創(chuàng)建一個BufferedImage繪制你的動態(tài)圖像:
BufferedImage image = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
創(chuàng)建完一個BufferedImage后,你需要得到圖形環(huán)境進(jìn)行繪制,一個Graphics或者Graphics2D對象:
Graphics g = image.getGraphics;
// or
Graphics2d g2d = image.createGraphics;
從現(xiàn)在起你就可以繪制圖像內(nèi)容了。對圖形環(huán)境繪制就會畫到BufferedImage。最開始這個圖像都是黑色的,因此用你希望的背景顏色填充圖像是一個不錯的主意,然后,當(dāng)你完成圖像的繪制,你需要dispose圖形環(huán)境:
g.dispose;
// or
g2d.dispose;
一旦完成圖像的繪制,你在response中返回那個圖像。你可以使用非標(biāo)準(zhǔn)的com.sun.image.codec.jpeg包中的JPEGImageEncoder類編碼圖像,或者如果你使用JDK1.4,你可以使用標(biāo)準(zhǔn)的ImageIO類。在使用JPEGImageEncoder時有一個技巧,你必須從ServletResponse取來ServletOutputStream而不能使用隱含的JSP輸出變量out。
ServletOutputStream sos = response.getOutputStream;
JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
// or
ImageIO.write(image, "JPEG", out);
這里有一個從所有的可能方案中(例如g.dispose;或者g2d.dispose;)選取的一個完整的范例.這個例子使用Graphics對象繪制一個隨機(jī)的多邊形,圖像通過JPEGImageEncoder繪制,你可以自由設(shè)置多邊形的頂點(diǎn)數(shù)得到更復(fù)雜的形狀,換言之,有更多頂點(diǎn)和邊。
要運(yùn)行這個范例,將從"<%@"到最后一個"%>"之間的jsp代碼放到一個名為image.jsp的文件中,將那個文件放到你的web服務(wù)器可以找到的地方,在使用Tomcat的情況下是ROOT目錄,啟動Tomcat,訪問http://localhost:8080/image.jsp。
分享:如何使用Spring來管理Struts中的Action當(dāng)指定struts.objectFactory為spring時,struts2框架就會把bean轉(zhuǎn)發(fā)給spring來創(chuàng)建,裝配,注入。但是bean創(chuàng)建完成之后,還是由struts容器來管理其生命周期。配置方式: (1)struts.xml中
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關(guān)鏈接:
- 教程說明:
JSP教程-JSP中如何發(fā)送一個動態(tài)圖像
。