JSP中通過Servlet 將服務(wù)器硬盤圖片并展示到瀏覽器
JSP中通過Servlet 將服務(wù)器硬盤圖片并展示到瀏覽器
其實(shí)這個(gè)實(shí)例非常簡單,但是今天有人問我了,而且我也寫了個(gè)小例子,就順便發(fā)上來吧!
在瀏覽器顯示一張圖片,使用標(biāo)簽
<img src="">
img 元素向網(wǎng)頁中嵌入一幅圖像。
請注意,從技術(shù)上講,<img> 標(biāo)簽并不會(huì)在網(wǎng)頁中插入圖像,而是從網(wǎng)頁上鏈接圖像。<img> 標(biāo)簽創(chuàng)建的是被引用圖像的占位空間。
<img> 標(biāo)簽有兩個(gè)必需的屬性:src 屬性 和 alt 屬性。
HTML 與 XHTML 之間的差異
在 HTML 中,<img> 標(biāo)簽沒有結(jié)束標(biāo)簽。
在 XHTML 中,<img> 標(biāo)簽必須被正確地關(guān)閉。
在 HTML 4.01 中,不推薦使用 image 元素的 "align"、"border"、"hspace" 以及 "vspace" 屬性。
在 XHTML 1.0 Strict DTD 中,不支持 image 元素的 "align"、"border"、"hspace" 以及 "vspace" 屬性。
SRC的路徑有很多:
指向其他站點(diǎn)(比如 src="http://www.******.com/***.jpg")
指向站點(diǎn)內(nèi)的文件(比如 src="/i/image.gif")
許多新手忽略了一點(diǎn)是,其實(shí)IMG只是告訴瀏覽器這里要現(xiàn)實(shí)圖片,而瀏覽器通過路徑去獲得圖片的數(shù)據(jù)流然后進(jìn)行顯示
簡單來說,SRC其實(shí)就是瀏覽器走了一個(gè)請求,然后這個(gè)請求返回圖片的數(shù)據(jù)流給瀏覽器而已
所以,SRC同樣可以是請求,可以是Servlet也可以是Action,這里我們用Servlet來做一個(gè)簡單示例
JSP頁面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>" rel="external nofollow" > <title>圖片顯示</title> </head> <body> <img src="<%=basePath %>servlet/ImageShowServlet"> </body> </html>
Web.xml配置:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>ImageShowServlet</servlet-name> <servlet-class>servlet.ImageShowServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ImageShowServlet</servlet-name> <url-pattern>/servlet/ImageShowServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
Servlet非常簡單:
package servlet; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @說明 該Servlet將本地硬盤的圖片輸入管道中 * @author cuisuqiang * @version 1.0 * @since */ @SuppressWarnings("serial") public class ImageShowServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { OutputStream os = response.getOutputStream(); File file = new File("C:\\abc.jpg"); FileInputStream fips = new FileInputStream(file); byte[] btImg = readStream(fips); os.write(btImg); os.flush(); } /** * 讀取管道中的流數(shù)據(jù) */ public byte[] readStream(InputStream inStream) { ByteArrayOutputStream bops = new ByteArrayOutputStream(); int data = -1; try { while((data = inStream.read()) != -1){ bops.write(data); } return bops.toByteArray(); }catch(Exception e){ return null; } } }
就是獲取本地硬盤的文件的字節(jié)流,然后寫入到管道中而已!
以上就是JSP中通過Servlet 將服務(wù)器硬盤圖片并展示到瀏覽器的實(shí)例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
jsp圖片效果大全(圖像震動(dòng)效果、閃爍效果、自動(dòng)切換圖像)
本篇文章主要介紹了jsp圖片效果大全,具有一定的參考價(jià)值,這里整理了詳細(xì)的代碼。有需要的可以直接拿去用。2016-10-10Tomcat網(wǎng)站發(fā)布配置方案詳細(xì)說明
Tomcat網(wǎng)站發(fā)布配置方案詳細(xì)說明,需要的朋友可以參考一下2013-03-03WIN2000+PHP+MYSQL+TOMCAT+JSP完全整合安裝手冊
WIN2000+PHP+MYSQL+TOMCAT+JSP完全整合安裝手冊...2006-10-10jsp實(shí)現(xiàn)頁面實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間的方法
在頁面上實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間,通過jsp簡單實(shí)現(xiàn),具體如下,感興趣的朋友可以參考下2013-08-08使用JS顯示倒計(jì)時(shí)數(shù)字時(shí)鐘效果
這篇文章主要介紹了JS實(shí)現(xiàn)的網(wǎng)頁倒計(jì)時(shí)數(shù)字時(shí)鐘效果,是一款非常實(shí)用的javascript倒計(jì)時(shí)特效,具有一定參考借鑒價(jià)值,需要的朋友可以參考下。2016-10-10JSP由淺入深(3)—— 通過表達(dá)式增加動(dòng)態(tài)內(nèi)容
JSP由淺入深(3)—— 通過表達(dá)式增加動(dòng)態(tài)內(nèi)容...2006-10-10