JSP: 调用servlet 显示图片

王朝java/jsp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

由于我工作需要,开始学习 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();

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航