Servlet如何显示图像?

在此示例中, 我们使用FileInputStream类读取图像, 并使用ServletOutputStream类将此图像内容作为响应写入。为了提高性能, 我们使用了BufferedInputStream和BufferedOutputStream类。

你需要使用内容类型image / jpeg。

在此示例中, 我们假设你在c:\ test目录中具有java.jpg图像。你可以相应地更改位置。

为了创建此应用程序, 我们创建了三个文件:

  1. index.html
  2. DisplayImage.java
  3. web.xml

index.html

该文件创建一个调用servlet的链接。 servlet的url模式是servlet1。

<a href="servlet1">click for photo</a>

DisplayImage.java

该Servlet类从上述目录中读取图像, 然后使用ServletOutputStream和BufferedOutputStream类将内容写入响应对象。

package com.srcmini;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DisplayImage extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			 throws IOException
	{
	response.setContentType("image/jpeg");
	ServletOutputStream out;
	out = response.getOutputStream();
	FileInputStream fin = new FileInputStream("c:\\test\\java.jpg");
	
	BufferedInputStream bin = new BufferedInputStream(fin);
	BufferedOutputStream bout = new BufferedOutputStream(out);
	int ch =0; ;
	while((ch=bin.read())!=-1)
	{
	bout.write(ch);
	}
	
	bin.close();
	fin.close();
	bout.close();
	out.close();
	}
}

下载此示例(使用Myeclipse IDE开发)

下载此示例(使用Eclipse IDE开发)

下载此示例(使用Netbeans IDE开发)

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?