在学习 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