明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

JSP: 調(diào)用servlet 顯示圖片

[摘要]由于我工作需要,開(kāi)始學(xué)習(xí) java 和 jsp, 這段時(shí)間會(huì)多寫點(diǎn)關(guān)于 jsp 的文章,以加強(qiáng)自己對(duì)jsp的了解。這篇文章主要是介紹如何調(diào)用 servlet 顯示圖片,其實(shí)也讓大家知道如何在向客戶端輸出二進(jìn)制數(shù)據(jù)。下在這個(gè) 1.htm 用來(lái)調(diào)用servlet<!------------ 文件...
   由于我工作需要,開(kāi)始學(xué)習(xí) java 和 jsp, 這段時(shí)間會(huì)多寫點(diǎn)關(guān)于 jsp 的文章,以加強(qiáng)自己對(duì)jsp的了解。
這篇文章主要是介紹如何調(diào)用 servlet 顯示圖片,其實(shí)也讓大家知道如何在向客戶端輸出二進(jìn)制數(shù)據(jù)。

下在這個(gè) 1.htm 用來(lái)調(diào)用servlet


<!------------ 文件 1.htm 開(kāi)始-------------------->
<html>
<head><title>用servlet 顯示圖片</title></head>

<body>

<img src="http://localhost:8080/servlet/showimage">  

</body>
</html>

<!------------ 文件 1.htm 結(jié)束 ---------------->

在Servlet 中,是靠 doGet()、 doPost() 等方法來(lái)響應(yīng) GET POST 方法的,這里我們響應(yīng)的是GET,所以定義了一個(gè) doGet() 方法下面是源程序:

//====================== showimage.java 程序開(kāi)始 ===================================

在html 調(diào)用時(shí)只
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class showimage extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{

try{
FileInputStream hFile = new FileInputStream("d:\\1.gif"); // 以byte流的方式打開(kāi)文件 d:\1.gif
int i=hFile.available(); //得到文件大小
byte data[]=new byte[i];
hFile.read(data);  //讀數(shù)據(jù)
hFile.close();
res.setContentType("image/*"); //設(shè)置返回的文件類型
OutputStream toClient=res.getOutputStream(); //得到向客戶端輸出二進(jìn)制數(shù)據(jù)的對(duì)象
toClient.write(data);  //輸出數(shù)據(jù)
toClient.close();
}
catch(IOException e) //錯(cuò)誤處理
{
  PrintWriter toClient = res.getWriter(); //得到向客戶端輸出文本的對(duì)象
  res.setContentType("text/html;charset=gb2312");
  toClient.write("無(wú)法打開(kāi)圖片!");
  toClient.close();
}

}

}