📜  Servlet – 显示图像

📅  最后修改于: 2022-05-13 01:55:07.139000             🧑  作者: Mango

Servlet – 显示图像

FileInputStream 类用于读取图片,ServletOutputStream 类用于写入图片内容作为响应。我们使用 BufferedInputStream 和 BufferedOutputStream 类来提高性能。我们必须使用 image/jpeg 内容类型。在 C:\Images 目录中,有一个 GFG.jpeg 图像。您可以根据需要调整位置。我们将在此示例中创建以下页面:

例子

我们创建了三个文件来制作这个应用程序:

  • 索引.html
  • 显示图像。Java
  • web.xml

index.html 文件创建一个调用 servlet 的链接。 servlet 的 URL 模式是“servlet1”。 ServletIO 示例。 Java servlet 类从指定目录读取图片,并使用 ServletOutputStream 和 BufferedOutputStream 类将内容写入响应对象。

1. index.html

HTML

    
        Display GFG Image
      
    
         click for photo  
    


Java
import java.io.*;
import javax.servlet.*;  
import javax.servlet.http.*;  
  
public class DisplayImageGfg extends HttpServlet 
{  
    public void doGet(HttpServletRequest request,HttpServletResponse response)  
             throws IOException  
    {  
        // set the content type to image/jpeg.
        response.setContentType("image/jpeg");  
          
        ServletOutputStream out;
          
        // Writing this image 
        // content as a response 
        out = response.getOutputStream(); 
          
        // path of the image
        FileInputStream fin = new FileInputStream("C:\\Images\\GFG.jpeg");  
  
        // getting image in BufferedInputStream  
        BufferedInputStream bin = new BufferedInputStream(fin);
        BufferedOutputStream bout = new BufferedOutputStream(out);  
          
        int ch =0;  
        while((ch=bin.read())!=-1)  
        {  
            // display image
            bout.write(ch);  
        }  
          
        // close all classes
        bin.close();  
        fin.close();  
        bout.close();  
        out.close();  
    }  
}


XML

  
  
    DisplayImageGfg
    DisplayImageGfg
  
  
  
    DisplayImageGfg
    /DisplayImageGfg
  
    


2. ServletIO 示例。Java

Java

import java.io.*;
import javax.servlet.*;  
import javax.servlet.http.*;  
  
public class DisplayImageGfg extends HttpServlet 
{  
    public void doGet(HttpServletRequest request,HttpServletResponse response)  
             throws IOException  
    {  
        // set the content type to image/jpeg.
        response.setContentType("image/jpeg");  
          
        ServletOutputStream out;
          
        // Writing this image 
        // content as a response 
        out = response.getOutputStream(); 
          
        // path of the image
        FileInputStream fin = new FileInputStream("C:\\Images\\GFG.jpeg");  
  
        // getting image in BufferedInputStream  
        BufferedInputStream bin = new BufferedInputStream(fin);
        BufferedOutputStream bout = new BufferedOutputStream(out);  
          
        int ch =0;  
        while((ch=bin.read())!=-1)  
        {  
            // display image
            bout.write(ch);  
        }  
          
        // close all classes
        bin.close();  
        fin.close();  
        bout.close();  
        out.close();  
    }  
}

3.web.xml

XML


  
  
    DisplayImageGfg
    DisplayImageGfg
  
  
  
    DisplayImageGfg
    /DisplayImageGfg
  
    

输出:

当您运行 index.html 文件时,您将看到以下结果。

输出

要获取输出,请单击链接。

输出