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