Servlet响应图片

在处理不确定路径的图片时,可以通过Servlet动态响应图片。原理是客户端请求服务器资源,服务器读取图片到内存,然后通过输出流传送到客户端。关键在于设置响应头信息,使用MIME类型(如在Tomcat的web.xml中定义)来指示响应内容为图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习 HTML 的时候我们知道使用 “img src=“img.jpg”” 的方式可以显示图片。但有的时候我们 并不知道(或不能确定)图片的路径,需要通过请求服务器资源动态地响应图片给客户端。这种方式和文 件拷贝的理念是一致的,客户端请求服务器的资源,在服务端获取到真实的图片资源,通过输入流读取 到内存,然后通过输出流写出到客户端即可。
  值得注意的是,在客户端解析资源时默认是以文本(text/html)的形式,当响应图片时需要指定响 应头信息,告知客户端响应内容为图片形式,使用一种叫做 MIME 类型的东西来指定。MIME 类型见 Tomcat 的 web.xml 文件。

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
		//设置编码
//		response.setContentType("text/html;charset=utf-8");
		//response.getWriter().write("<img src='image/timg.jpg'/>");
		//以src的方式输出图片
		//获取图片名称
		String name = "eye.jpeg";
		//得到图片存放在服务器中的真实路径
		String filePath = request.getServletContext().getRealPath("/WEB-INF/image/"+name);
		System.out.println(filePath);
		//通过路径得到file对象
		File file 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值