国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JSP > 正文

JSP中通過Servlet 將服務(wù)器硬盤圖片并展示到瀏覽器

2020-07-27 21:21:04
字體:
供稿:網(wǎng)友

JSP中通過Servlet 將服務(wù)器硬盤圖片并展示到瀏覽器

其實(shí)這個(gè)實(shí)例非常簡(jiǎn)單,但是今天有人問我了,而且我也寫了個(gè)小例子,就順便發(fā)上來吧! 

在瀏覽器顯示一張圖片,使用標(biāo)簽

<img src=""> 

img 元素向網(wǎng)頁(yè)中嵌入一幅圖像。

請(qǐng)注意,從技術(shù)上講,<img> 標(biāo)簽并不會(huì)在網(wǎng)頁(yè)中插入圖像,而是從網(wǎng)頁(yè)上鏈接圖像。<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)行顯示

簡(jiǎn)單來說,SRC其實(shí)就是瀏覽器走了一個(gè)請(qǐng)求,然后這個(gè)請(qǐng)求返回圖片的數(shù)據(jù)流給瀏覽器而已

所以,SRC同樣可以是請(qǐng)求,可以是Servlet也可以是Action,這里我們用Servlet來做一個(gè)簡(jiǎn)單示例 

JSP頁(yè)面:

<%@ 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非常簡(jiǎn)單:

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ǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 康定县| 南皮县| 淮安市| 太仓市| 新蔡县| 呼伦贝尔市| 阿克| 沧源| 七台河市| 广水市| 五指山市| 宜阳县| 汝州市| 滦平县| 龙川县| 孝义市| 大姚县| 方城县| 甘谷县| 寻乌县| 昌都县| 穆棱市| 绵竹市| 阳曲县| 商城县| 北碚区| 中江县| 辰溪县| 佛冈县| 泰安市| 八宿县| 新化县| 宁安市| 南郑县| 邛崃市| 双鸭山市| 正安县| 鄄城县| 同仁县| 徐汇区| 乐安县|