top
Loading...
調用servlet顯示圖片
由于我工作需要,開始學習 java 和 jsp, 這段時間會多寫點關于 jsp 的文章,以加強自己對jsp的了解。
這篇文章主要是介紹如何調用 servlet 顯示圖片,其實也讓大家知道如何在向客戶端輸出二進制數據。

下在這個 1.htm 用來調用servlet

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

<body>

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

</body>
</html>
<!------------ 文件 1.htm 結束 ---------------->

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

//====================== showimage.java 程序開始 ===================================

在html 調用時只
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流的方式打開文件 d:1.gif
int i=hFile.available(); //得到文件大小
byte data[]=new byte[i];
hFile.read(data); //讀數據
hFile.close();
res.setContentType("image/*"); //設置返回的文件類型
OutputStream toClient=res.getOutputStream(); //得到向客戶端輸出二進制數據的對象
toClient.write(data); //輸出數據
toClient.close();
}
catch(IOException e) //錯誤處理
{
PrintWriter toClient = res.getWriter(); //得到向客戶端輸出文本的對象
res.setContentType("text/html;charset=gb2312");
toClient.write("無法打開圖片!");
toClient.close();
}

}

}

/***** showimage.java 程序結束 *****/

北斗有巢氏 有巢氏北斗