关闭

JSP: 调用servlet 显示图片

505人阅读 评论(0) 收藏 举报

作者: 稻香老农
来源:http://www.5xsoft.com

   由于我工作需要,开始学习 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 程序结束 *****/

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1496次
    • 积分:45
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章存档