千家信息网

怎么用Servlet显示图片

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"怎么用Servlet显示图片",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Servlet显示图片"吧!在Servlet编程中用se
千家信息网最后更新 2026年11月01日怎么用Servlet显示图片

本篇内容主要讲解"怎么用Servlet显示图片",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用Servlet显示图片"吧!

在Servlet编程中用servlet做一个跟踪图片点击技术,这个模块挺大,这里说说用Servlet显示图片部分。先说说用Servlet显示图片的一个流程:

1. Servlet编程中设置response的输出类型:

对应的语句--response.setContentType("image/gif;charset=GB2312") ,

response 便能输出gif图片,"image/gif;charset=GB2312"便是输出类型,当然你可以输出 "image/jpg;charset=GB2312"类型文件。

2. 实现Servlet显示图片之得到文件流:

servlet是以流的形式件图片文件从服务器读出,通过response将流发到浏览器的。

3. 实现Servlet显示图片之得到输出流:

对应的语句--OutputStream output = response.getOutputStream(); 当然,处理图片文件需要以二进制形式的流。

4. 实现Servlet显示图片之文件流的编码(但也不一定必须编码的,如果不是文件流,则必须编码) 所以我给大家一个用编码的代码和不用编码的代码.

顺便说一句,sun公司仅提供了jpg图片文件的编码api。

我想基本流程都讲完了,下面我把代码拿给大家看一下,大家自然一目了然了:

package xjw.personal.servet;  import java.io.*;  import javax.servlet.*;  import javax.servlet.http.*;  import com.sun.image.codec.jpeg.*;

Sun公司仅提供了jpg图片文件的编码api

import javax.imageio.stream.*;  import java.awt.*;  import java.awt.image.BufferedImage;  public class ShowPicture  extends HttpServlet{       private static final String GIF="image/gif;charset=GB2312";

实现Servlet显示图片之设定输出的类型

private static final String JPG="image/jpeg;charset=GB2312";       public void init()    throws ServletException     {     }       public void doGet(HttpServletRequest request, HttpServletResponse response)                    throws IOException, ServletException       {        doPost(request, response);     }      public void doPost(HttpServletRequest request, HttpServletResponse response)                   throws IOException, ServletException     {                  String spec=request.getParameter("spec");  //输出图片的类型的标志   int int_spec=Integer.parseInt(spec);          if(spec==1)            {              String imagePath="/jfgg/b1.jpg";  //图片相对web应用的位置        }          else        {                String imagePath="/jfgg/b2.gif";

图片相对web应用的位置

  }                     OutputStream output = response.getOutputStream();//得到输出流         if(imagePath.toLowerCase().endsWith(".jpg"))//使用编码处理文件流的情况:         {     response.setContentType(JPG);//设定输出的类型            //得到图片的真实路径                  imagePath = getServletContext().getRealPath(imagePath);

得到图片的文件流

InputStream imageIn = new FileInputStream(new File(imagePath));           //得到输入的编码器,将文件流进行jpg格式编码       JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);         //得到编码后的图片对象           BufferedImage image = decoder.decodeAsBufferedImage();   //得到输出的编码器    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);             encoder.encode(image);//对图片进行输出编码            imageIn.close();//关闭文件流       }          if(imagePath.toLowerCase().endsWith(".gif"))//不使用编码处理文件流的情况:         {    response.setContentType(GIF);    ServletContext context = getServletContext();//得到背景对象       InputStream imageIn=context.getResourceAsStream(imagePath);//文件流           BufferedInputStream bis=new BufferedInputStream(imageIn);//输入缓冲流       BufferedOutputStream bos=new BufferedOutputStream(output);//输出缓冲流      byte data[]=new byte[4096];//缓冲字节数       int size=0;     size=bis.read(data);      while (size!=-1)    {         bos.write(data,0,size);              size=bis.read(data);    }      bis.close();    bos.flush();//清空输出缓冲流           bos.close();    }        output.close();    }  }

***是如何调用,你可以简单的映射一下servelt,我就将servet的名映射为ShowPic, 于是下代码调用

﹤html﹥    ﹤body﹥    ﹤img src="ShowPic?spec=2"﹥﹤/a﹥  ﹤/body﹥  ﹤/html﹥

到此,相信大家对"怎么用Servlet显示图片"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

图片 文件 编码 输出 类型 代码 缓冲 处理 位置 公司 内容 对象 形式 情况 流程 编码器 语句 学习 应用 编程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网企业 朗新科技与工业互联网 礼当家互联网科技 互联网科技排名 深圳齐家互联网科技 掌上梦互联网科技 互联网巨头投资的硬核科技 移动互联网科技股 互联网科技公司实习生 洛阳昕诺飞互联网科技有限公司 科技类公司包括互联网吗 中国互联网公司排名锤子科技 特约风豹互联网科技为什么扣费 区块链结合互联网科技 工业互联网展湾科技股份有限公司 互联网相关科技技术 陕西云淼互联网科技公司 半导体行业属于互联网高科技类吗 广州燕处互联网科技有限公司 互联网科技企业商标注意事项 广州紫鲸互联网科技有限公司 九亚互联网科技 济南和联互联网科技有限公司 南山科技园互联网公司有哪些 速维有品互联网信息科技(苏州)有限公司 明优互联网科技有限公司 互联网数据科技专业 南通创西澳互联网科技有限公司 互联网领先科技宣传片 有人说阿里系是互联网科技企业
0