JSP: 调用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();
}

}

}
本文作者:



相关阅读:
避免回车键导致的页面无意义刷新的解决方法
PHP+javascript液晶时钟
Oracle Faq(Oracle的版本)
怎样解决mysql连接过多的错误?
Flash和ASP实现的用户登录/注册程序
php ajax无刷新分页,支持id定位
CSS 美化段落文本之首字下沉
Javascript var变量隐式声明方法
javascript 模拟游戏中的弹出菜单效果
使用FusionCharts+Jquery实现报表钻取
jsp防盗链
网页排版经常用到的5个CSS基础
简单实用的网页表格特效
使用php+Ajax实现唯一校验实现代码[简单应用]
快速导航

Copyright © 2016 phpStudy |