JSP: 調(diào)用servlet 顯示圖片
發(fā)表時(shí)間:2024-02-13 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]由于我工作需要,開(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();
}
}
}