La clase FileInputStream se usa para leer la imagen y la clase ServletOutputStream se usa para escribir el contenido de la imagen como respuesta. Usamos las clases BufferedInputStream y BufferedOutputStream para mejorar el rendimiento. Debemos utilizar el tipo de contenido image/jpeg. Dentro del directorio C:\Images, hay una imagen GFG.jpeg. Puede ajustar la ubicación según sea necesario. Vamos a hacer las siguientes páginas en este ejemplo:
Ejemplo
Creamos tres archivos para hacer esta aplicación:
- índice.html
- DisplayImage.java
- web.xml
El archivo index.html crea un enlace de invocación de servlet. El patrón de URL del servlet es «servlet1». La clase de servlet ServletIOExample.java lee la imagen del directorio especificado y utiliza las clases ServletOutputStream y BufferedOutputStream para escribir el contenido en el objeto de respuesta.
1. índice.html
HTML
<html> <head> <title>Display GFG Image</title> </head> <body> <a href="DisplayImageGfg">click for photo</a> </body> </html>
2. ServletIOExample.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
<web-app> <servlet> <servlet-name>DisplayImageGfg</servlet-name> <servlet-class>DisplayImageGfg</servlet-class> </servlet> <servlet-mapping> <servlet-name>DisplayImageGfg</servlet-name> <url-pattern>/DisplayImageGfg</url-pattern> </servlet-mapping> </web-app>
Producción:
Cuando ejecute su archivo index.html, verá los siguientes resultados.
Para obtener la salida, haga clic en el enlace.
Publicación traducida automáticamente
Artículo escrito por sanketnagare y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA